거리두기 확인하기 (Level 2)
문제 https://programmers.co.kr/learn/courses/30/lessons/81302 코딩테스트 연습 - 거리두기 확인하기 [["POOOP", "OXXOX", "OPXPX", "OOXOX", "POXXP"], ["POOPX", "OXPXP", "PXXXO", "OXXXO", "OOOPP"], ["PXOPX", "OXOXP", "OXPOX", "OXXOP", "PXPOX"], ["OOOXX", "XOOOX", "OOOXX", "OXOOX", "OOOOO"], ["PXPXP", "XPXPX", "PXPXP", "XPXPX", "PXPXP"]] [1, 0, 1, 1, 1] programmers.co.kr 내 풀이 대기실에서 'P'의 좌표를 따로 저장한다. 'P' 간의 거리를 구하기 위해 ..
크레인 인형뽑기 게임 (Level 1)
문제 https://programmers.co.kr/learn/courses/30/lessons/64061 코딩테스트 연습 - 크레인 인형뽑기 게임 [[0,0,0,0,0],[0,0,1,0,3],[0,2,5,0,1],[4,2,4,4,2],[3,5,1,3,1]] [1,5,3,5,1,2,1,4] 4 programmers.co.kr 내 풀이 moves는 board에 접근할 (column index + 1)이다. moves를 돌면서 board의 column에 접근하여 가장 위에 있는 숫자를 bucket에 넣었다. bucket이 빈 공간이 될 때까지, bucket의 원소를 stack에 넣었다. bucket에서 뺀 인형이 stack의 마지막 원소와 동일하면 stack에서 pop을 하였다. pop을 할 때 answer..
키패드 누르기 (Level 1)
내 풀이 키 패드 숫자를 미리 딕셔너리에 저장했다. n이 키패드 오른쪽에 위치하는 숫자는 오른손, 키패드 왼쪽에 위치하는 숫자는 왼손으로 누르도록 했다. 숫자를 누를 때마다 손의 위치를 업데이트시켰다. n이 키패드 중앙에 위치하는 숫자일 경우, 맨해튼 거리를 구하고 손의 위치를 업데이트시켰다. def solution(numbers, hand): answer = '' dic = {1: [0, 0], 2: [0, 1], 3: [0, 2], 4: [1, 0], 5: [1, 1], 6: [1, 2], 7: [2, 0], 8: [2, 1], 9: [2, 2], 0: [3, 1]} left, right = [3, 0], [3, 2] for n in numbers: if n in [3, 6, 9]: right = d..