[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.
[과제] FE - 고양이 사진 검색 사이트 [프론트엔드] 고양이 사진 검색 사이트 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 더보기 주제(시나리오) 고양이를 좋아하는 당신은 고양이 사진 전용 검색 웹사이트를 운영하고 있었습니다. 지금까지는 혼자 소소하게 운영해왔는데, 생각보다 고양이 사진을 원하는 사람들이 많아지면서 해결해야 할 문제들이 하나씩 드러나기 시작했어요. 몇 개의 문제는 금세 고칠 수 있지만, 기존 코드를 자세히 봐야만 고칠 수 있는 문제들도 있어서 조금 골치아픈 상황! 심지어 최대 4시간 내에 수정한 뒤 배포를 해야만 합니다. 당신이라면 기존 서비스의 여러 버그를 제한시간 내에 고.. 2021. 5. 13.
[Programmers] Lv1. 체육복 문제 바로가기 코딩테스트 연습 - 체육복 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번 programmers.co.kr 풀이 lost와 reserve 값이 공통으로 존재하는 것은 제외시켜줘야하기 때문에, set을 활용해서 차집합 구하기 반복문을 돌면서 index가 작은 것(i-1)부터 빌려주고, 만약에 i-1이 없다면 i+1의 학생을 빌려준다. 코드 def solution(n, lost, reserve): lost1 = set(lost)-set(reserve) reserve1 = set(reserve) - set(lost) for i in reserve1: if i-.. 2021. 5. 12.
[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.
[Programmers] Lv1. 완주하지 못한 선수 문제 바로가기 코딩테스트 연습 - 완주하지 못한 선수 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수 programmers.co.kr 풀이 무조건 한 명의 선수를 제외하고 완주했으므로 각각의 리스트를 정렬 반복문을 통해 같은 이름이 아니면 그 이름을 Return 만약 반복문을 문제없이 완료했다면 마지막 선수의 이름을 Return 코드 def solution(participant, completion): participant.sort() completion.sort() for i in range(len(completion)): if participant[i] !.. 2021. 5. 12.
[Programmers] Lv1. 폰켓몬 문제 바로가기 코딩테스트 연습 - 폰켓몬 당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다. programmers.co.kr 풀이 set을 활용해서 리스트에 중복된 값을 없앤 길이와 기존의 리스트의 절반의 길이를 비교해서 작은 값을 Return 코드 def solution(nums): return min(len(nums)//2, len(set(nums))) 2021. 5. 12.
반응형