[Programmers] Lv1. 크레인 인형뽑기 게임
문제 바로가기 코딩테스트 연습 - 크레인 인형뽑기 게임 [[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 풀이 stack을 이용해서 풀었다 moves의 배열을 돌면서 board의 열을 moves원소의 -1로 두고, 행을 board의 길이만큼 돌면서 인형을 찾습니다 그리고 인형을 발견하면 stack에 인형을 쌓고 해당 board의 값을 0으로 만들고 break 그 후 stack의 길이가 1 이상이 되면 같은 인형이 나올 수 있으므로 while문을 stack의 길이가 1 이상일 때로 지정 stack의 마지막 원소와 뒤에서 두 번째 원소가 같은 경우, answer에 없어진 인형의 개..
2021. 5. 14.
[Programmers] Lv1. 키패드 누르기
문제 바로가기 코딩테스트 연습 - 키패드 누르기 [1, 3, 4, 5, 8, 2, 1, 4, 5, 9, 5] "right" "LRLLLRLLRRL" [7, 0, 8, 2, 8, 3, 1, 5, 7, 6, 2] "left" "LRLLRRLLLRR" [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] "right" "LLRLLRLLRL" programmers.co.kr 풀이 lefts, mids, rights에 해당하는 keypad를 리스트로 나타냄 '*'과 '#'에 해당하는 index를 사용해서 왼손과 오른손의 위치를 초기화함 그리고 숫자 리스트를 돌면서, lefts에 들어있으면 answer에 L을 추가하고 왼손 위치를 lefts의 index를 사용해 변경 rights에 들어있으면 answer에 R을 ..
2021. 5. 13.
[Programmers] Lv1. K번째수
문제 바로가기 코딩테스트 연습 - K번째수 [1, 5, 2, 6, 3, 7, 4] [[2, 5, 3], [4, 4, 1], [1, 7, 3]] [5, 6, 3] programmers.co.kr 풀이 slicing 기능을 통해 리스트를 자른 후 정렬 그리고 해당 인덱스의 숫자를 리스트에 넣어 Return 코드 def solution(array, commands): answer = [] for i in commands: tmp = sorted(array[i[0]-1:i[1]]) answer.append(tmp[i[2]-1]) return answer
2021. 5. 12.