본문 바로가기
728x90

프로그래머스46

[PG/Python] 튜플 📌 문제 https://programmers.co.kr/learn/courses/30/lessons/64065 코딩테스트 연습 - 튜플 "{{2},{2,1},{2,1,3},{2,1,3,4}}" [2, 1, 3, 4] "{{1,2,3},{2,1},{1,2,4,3},{2}}" [2, 1, 3, 4] "{{4,2,3},{3},{2,3,4,1},{2,3}}" [3, 2, 4, 1] programmers.co.kr 📌 문제 접근 방법 입력이 문자열로 들어오기 때문에 split을 쓰려다가 ','로 끊는 건 안되겠다 생각하고 포기했는데, 생각해보니 '},'으로 끊으면 됐었다. 우선, split을 사용하지 않고 sets에 문자열로 들어온 입력값을 리스트 형태로 바꿔서 저장해주었다. sets를 길이순대로 정렬한 후, s.. 2021. 12. 16.
[PG/Python] 가장 먼 노드 📌 문제 https://programmers.co.kr/learn/courses/30/lessons/49189 코딩테스트 연습 - 가장 먼 노드 6 [[3, 6], [4, 3], [3, 2], [1, 3], [1, 2], [2, 4], [5, 2]] 3 programmers.co.kr 📌 문제 접근 방법 인접 리스트를 활용해서 그래프 정보를 저장해준 뒤 bfs를 사용했다. bfs에서 방문체크를 할 때, 1번 노드와의 거리를 저장해줬다. (가장 먼 거리가 1일 경우에도 1번 노드는 포함되지 않아야하므로 1번 노드는 -1로 방문체크를 해줬다.) bfs 탐색이 끝난 후, visited를 순회하면서 거리가 가장 먼 노드의 개수를 세어 반환한다. 📌 코드 from collections import deque de.. 2021. 12. 9.
[PG/Python] 기능개발 📌 문제 https://programmers.co.kr/learn/courses/30/lessons/42586 코딩테스트 연습 - 기능개발 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 programmers.co.kr 📌 문제 접근 방법 먼저 progresses와 speeds를 queue로 만들어줬다. progresses가 빌 때까지 작업과 배포를 반복한다. 작업은 progresses의 0번째 작업과 speeds의 0번째 속도를 더해서 progresses의 마지막에 다시 push해줬다. 배포는 progresses를 순회하며 앞에서부터 작업량이 100이 넘은 작.. 2021. 12. 9.
[PG/Python] 불량 사용자 📌 문제 https://programmers.co.kr/learn/courses/30/lessons/64064 코딩테스트 연습 - 불량 사용자 개발팀 내에서 이벤트 개발을 담당하고 있는 "무지"는 최근 진행된 카카오이모티콘 이벤트에 비정상적인 방법으로 당첨을 시도한 응모자들을 발견하였습니다. 이런 응모자들을 따로 모아 불량 programmers.co.kr 📌 문제 접근 방법 banned_id를 하나씩 순회하며 banned_id가 될 수 있는 후보 리스트를 able_banned에 저장했다. 후보 리스트를 하나씩 순회하며 재귀를 이용해서 불량 사용자 리스트를 만들었다. 중복을 체크해주기 위해서 sort한 후 answer에 저장했다. 불량 사용자 리스트의 경우의 수가 저장된 answer의 길이를 반환한다. 📌.. 2021. 12. 8.
728x90