2025/05 3

[Lv.2 / 프로그래머스 / 파이썬] 무인도 여행

프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 풀이 연결된 땅들의 크기를 계산하여 각 섬의 크기를 오름차순으로 출력하는 문제이다.DFS 및 BFS를 사용하여 해결할 수 있다. 작성된 코드의 알고리즘 순서는 다음과 같다. 맵을 탐색하며 X가 아닌 부분(섬의 일부)을 찾는다.섬의 일부를 발견한 경우, BFS로 섬 전체를 탐색한다.섬을 방문한 좌표의 경우 X로 표시로 체크하여 재방문을 막는다.섬 탐색이 끝나면 현재 섬의 크기를 저장한 다음, 맵을 이어서 탐색하며 다른 섬들을 찾는다.맵 탐색이 전부 끝나면, 저장된 섬의 크기를 오름차순 정렬한 다음 반환한다. def solution(maps): board = [..

[Lv.2 / 프로그래머스 / 파이썬] 지게차와 크레인 (2025 프로그래머스 코드챌린지 1차 예선)

프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 풀이 requests를 순회하며 처리하는 시뮬레이션에서 BFS를 수행하는 문제이다. BFS를 가장자리부터 진행하도록 하기 위해 빈 값으로 storage를 래핑해주었다.그리고 주어진 요청을 순회하며 BFS 혹은 전체 삭제를 진행한다.순회가 종료되면, 남은 블럭의 개수를 리턴한다. BFS를 진행할 때, 현재 요청 타입에 맞는 블럭과 만났을 때 즉시 삭제하지 않도록 따로 삭제 예정 리스트를 구성한 다음 처리해야 한다. 그렇지 않으면 같은 타입의 블럭 뭉치를 만났을 때, 연결된 모든 부분을 삭제하게 된다. def solution(storage, requests)..

[Lv.2 / 프로그래머스 / 파이썬] 귤 고르기

프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 풀이 귤의 크기별로 그 개수를 센 딕셔너리를 구성한다.그리고 개수를 기준으로 내림차순 정렬한다.개수가 가장 많은 종류부터 선택하여 k에서 선택한 종류의 개수를 뺀다.k가 남았다면 3번을, k가 0이거나 음수가 되면 목표치를 달성한 것이므로 지금까지 선택한 종류의 수를 return 한다. def solution(k, tangerine): # 딕셔너리 구성 d = dict() for i in tangerine: if i in d: d[i] += 1 else: d[i] = 1 ..

반응형