반응형

분류 전체보기 622

백준 10709번 기상캐스터 파이썬

리뷰내가 최적해를 낸 것 같지는 않지만 쉬웠다!문제 풀이나는 날씨 정보에 대한 배열을 받아 올때 구름의 종착지를 구현하기 위해 뒤에 '.'를 추가하여 받아왔다.-1로 이루어진 h * w크기의 배열을 추가로 생성해 주었다.가로의 길이가 곧 반복해야 하는 횟수이므로 while문의 조건은 시간이 가로 크기를 벗어나지 않을 경우 루프를 돌게 했다.만약 날씨 리스트가 c이고 정답 리스트가 -1일 경우 정답 리스트를 시간 값으로 변경시켰고 변경이 끝난 후에는 구름을 오른쪽으로 한칸 이동시켰다. 이후 시간을 1 올려주고 루프가 종료될 때까지 반복참고 사항정답 리스트를 그대로 출력해서 틀려버렸다. 2중 리스트 이므로 각 리스트를 개행 해주면 된다.정답 코드def q10709(): # 백준 10709번 기상캐스터 ..

백준 2578번 빙고 파이썬

리뷰구현 문제는 너무 어렵고 오래걸린다.문제 풀이우선 빙고판과 숫자판 그리고 순서 인덱스를 초기화 해준다. for문이 많이 발생할 것으로 예상되어 함수를 사용해 주었다.call_number 함수 : 리스트와 숫자를 받아와 해당 리스트에서 동일한 숫자 발견 시 해당 숫자를 0으로 바꾸고 리턴check_bingo 함수 : 행과 열, 대각선의 숫자가 모두 0인지 체크 후 빙고의 갯수 리턴매번 번호 호출 시마다 순서를 증가시켜 주고 빙고판에서 해당 숫자를 0으로 만들어 준 뒤 빙고의 숫자가 3개 이상이 될 경우 번호를 출력 하고 리턴하는 것으로 마무리 하였다.참고 사항for문이 많아 함수를 사용하는 것을 추천한다.정답 코드def q2578(): # 백준 2578번 빙고 파이썬 def call_numb..

백준 10157번 자리배정 파이썬

리뷰실버4 문제가 맞나 싶을 정도로 어려웠다. 구현 문제는 시간이 오래 걸려 기피했었는데 자주 풀어봐야 할 것 같다.문제 풀이1. 2차원 배열을 r * c 크기로 생성해 준다.2. x, y 좌표를 초기 시작 위치인 0, 0으로 초기화3. 방향을 나타낼 배열을 생성해 주고 초기 index값을 할당해 준다. 처음엔 y방향으로 1씩 이동이니 (0, 1)이 되어야 한다.4. 관객의 번호를 나타낼 변수를초기화 해 준다.찾고 싶은 관객의 번호가 자리를 벗어나면 바로 print(0)후 리턴해 주면 된다. 아닐 경우 while 루프를 돌아 관객의 번호가 지정된 자리를 찾을 경우 x + 1, y + 1값을 리턴해 준다. 우선 x, y 좌표에 자리를 지정해 주고 다음 x, y 좌표를 찾아 준다.현재 진행 방향으로 이동 후..

백준 3985번 롤 케이크 파이썬

리뷰문제가 잘 이해가 되지 않는다면 예제의 이미지를 보면 쉽게 접근할 수 있는 문제였다.문제 풀이입력값을 받아오고 롤케이크 길이 +1만큼의 배열을 생성해준다. (롤케이크의 길이가 1부터 시작이기 때문)가장 많은 조각을 받을 것으로 기대했던 방청객과 실제로 가장 많은 조각을 받은 방청객용 변수를 따로 초기화 해준다.이 때 값 비교용 변수 하나 방청객의 인덱스용 변수 하나를 각각 초기화 해주었다. for문을 1부터 시작하여 i를 방청객 인덱스로 활용해 주고 k - p값이 이전의 값들 보다 클 경우 i 값은 가장 많은 조각을 받으로 기대했던 방청객의 인덱스가 된다. (방청객 인덱스는 오름차순 이므로 자동으로 번호가 가장 작은 값이 할당된다.) 이후 for문을 한번 더 개행해 줘 롤케이크에 방청객 번호가 할당되..

백준 2628번 종이자르기 파이썬

리뷰처음 문제를 어떻게 접근해야 할지 막막했다. 2차원 배열을 생성해서 insert를 해줄까? 싶다가 너무 산으로 가는 것 같아서 조금 더 간단하게 생각해 보도록 했다.문제 풀이종이의 크기 x, y를 받고 가로와 세로 배열을 초기화 해 준다. 각 배열에 초기 인덱스값 0과 x 또는 y를 넣어주고 이후 자르는 좌표를 각 배열에 append 해준다. 모든 입력을 받았다면 가로 세로 배열을 각각 오름차순으로 정렬해 주고 해당 배열 내에서 길이가 가장 긴 값을 구해준 후 서로 곱해주면 최대 넓이가 된다.가장 긴 값을 구하는 방법은 가로 세로 최대치를 저장할 변수를 초기화 해준 다음 정렬된 배열 내에서 인접한 두 인자의 차와 기존의 최대치를 비교하여 더 높은 값을 최대치로 갱신해 주면 된다.참고 사항종이의 크기를..

백준 8320번 직사각형을 만드는 방법 파이썬

리뷰처음엔 조금 막막했으나 알고리즘 분류가 수학인 만큼 점화식이 있을 거라고 생각했고 규칙을 찾아낸 후엔 문제를 쉽게 풀 수 있었다.문제 풀이n12345678910111213result12356891113151619201부터 13까지의 수를 대입해 보았을때 처음엔 피보나치 수열인가? 생각했으나 별다른 규칙성을 찾지 못했다. 그래서 노가다를 시작했다.n■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■n // 2 - 1■■■■■■■■■■■■■■■■■■      n // 3 - 2■■■■■■■■■        위의 표는 N이 9일때의 직사각형을 만들 수 있는 경우의 수이다. N이 4일때와 9일때 새로운 모습의 정사각형을 만들 수 있다는 것을 깨닫고 위와 같은 점화식을 세울 수 ..

백준 10163번 색종이 파이썬

리뷰상위 난이도 문제인 색종이와 색종이-2 보다 평면의 길이가 커서 시간 초과가 나지 않을까 했지만 다행히 시간초과가 나진 않았다. 해당 문제를 이해하고 색종이와 색종이-2에 접근한다면 해당 문제들을 쉽게 풀 수 있을 것 같다.문제 풀이마지막으로 들어온 종이는 온전히 자기 넓이를 가져야 하므로 각 좌표와 넓이를 리스트로 받아와 준 후 한번 reverse를 해 주었다. 1001 * 1001 크기의 2차원 배열을 생성해준 후 해당 위치의 값이 0일 경우 1로 변경해줌과 동시에 넓이를 1 더해주었다. 그리고 내부 for문이 종료될 때 얻은 넓이 값을 별도의 리스트에 저장, 모든 종이의 넓이를 구해준 후 넓이가 저장된 리스트를 다시 reverse하여 각각의 넓이를 출력해 주었다.추천 반례없음정답 코드def q1..

삼성 청년 SW아카데미 SSAFY(싸피) 12기 서울 지역 합격 후기

지원 동기퇴사 후 약 6개월이 지났다. 알고리즘 공부도 백준 난이도 기준 실버1 ~ 골드5선에서 막혀 버렸고 독학으로 공부하던 유니티도 게임 스케일이 점점 커지면서 점점 손대기가 힘들어지기 시작했다. 문제를 자가진단 해 보았을때 배움의 체계가 부족하다고 결론지었다. 비전공이라 학부 시절 체계잡힌 수업을 받아 보지 못했고, 실무를 하면서도 제대로 된 사수 없이 독학으로 코딩을 공부했으며 졸업 작품 이후론 개발 관련 프로젝트를 진행한 적이 없었다. 그래서 컴퓨터 학원을 등록 하고자 내일 배움 카드를 신청했다. 다행히 발급에 있어 크게 어려운 점도 없었고 빠른 시일 내에 발급이 승인 되었다.이곳 저곳 알아보던 중 SNS에서 삼성 청년 SW 아카데미를 접하게 되었다. 무려 12기, 1년에 2기수만 뽑는 걸로 봐..

구직 활동 2024.06.24

백준 2567번 색종이 - 2 파이썬

리뷰구현 문제를 오랜만에 접해서 그런지 많이 헤매었다. 색종이 넓이 구하는 문제보다는 난이도가 높은 것 같았다.문제 풀이100 * 100 크기의 2중 배열을 0으로 초기화 해준 후 입력 받은 x, y좌표 값의 +10만큼을 모두 1로 바꾸어 주었다.이후 이중 for문을 통해 해당 좌표가 1일 경우 상하좌우로 인접한 좌표의 값이 0일 경우 길이를 더해주었다.문제에 색종이가 도화지 밖으로 나가는 경우는 없다고 정의 하였으므로 가장자리에 인접한 경우도 길이를 더해주었다.추천 반례없음정답 코드def q2567(): # 백준 2567번 색종이 - 2 파이썬 n = int(input()) dp = [[0] * 101 for _ in range(101)] result = 0 for _ in ..

백준 2309번 일곱 난쟁이 파이썬

리뷰브론즈1 문제 치고는 생각보다 어려웠다. 브루트포스 알고리즘 문제를 많이 연습해야 겠다.문제 풀이입력될 난쟁이의 수는 9명으로 고정, 난쟁이 7명의 키를 더했을때 정확히 100이 일치한다면 해당 값을 리턴해주면 된다.즉 9명의 난쟁이 키의 합에서 겹치지 않는 두 난쟁이를 선택하여 해당 난쟁이들의 키를 빼주면 된다.2중 for문을 사용했기에 위 조건을 만족할 경우 해당 난쟁이를 리스트에서 제거해 주고 break를 통해 for문을 빠져나왔다. 주의 : 여기서 실수한 점은 lst[i]와 lst[j]의 값을 a, b와 같은 변수로 초기화 해준 후 remove를 해주어야 한다. 그렇지 않고 lst.remove(lst[i])와 같이 실행했을 경우 lst.remove(lst[j])는 엉뚱한 난쟁이를 리스트에서 제..

728x90
반응형