전체 글65 [파이썬] 코딩테스트 15 구현_미로탐색 ☆ 문제https://www.acmicpc.net/problem/2178백준 2178번 - 미로 탐색 문제 풀이 전 문제 이해하기이 문제는 '미로' 위를 출발점에서 도착점까지 최단거리로 이동하는 문제이다.이동은 오른쪽, 왼쪽, 위, 아래 4가지 방향만 가능하며, 벽은 지나갈 수 없다.즉, 최단거리 탐색 문제 = BFS 방식으로 풀어야 한다.문제를 쉽게 이해하기 위한 준비1. 아이디어 요약큐 방식(BFS) 을 활용해 이동할 수 있는 경로를 탐색한다.좌표 기준으로 큐에 넣는다.예: [(x, y)] 형태 → 한 칸씩 이동지도에서의 거리 기록은 graph 자체에 표시한다.별도의 distance 리스트 없이, graph를 갱신하면서 거리 기록시작점은 좌측 상단 (0,0)BFS의 흐름 정리출발 지점 : now = (0.. 2025. 8. 7. [파이썬] 코딩테스트 14 구현_최단거리 ☆ 문제 https://www.acmicpc.net/problem/18352어떤 나라에는 1번부터 N번까지의 도시와 M개의 단방향 도로가 존재한다. 모든 도로의 거리는 1이다.이 때 특정한 도시 X로부터 출발하여 도달할 수 있는 모든 도시 중에서, 최단 거리가 정확히 K인 모든 도시들의 번호를 출력하는 프로그램을 작성하시오. 또한 출발 도시 X에서 출발 도시 X로 가는 최단 거리는 항상 0이라고 가정한다.예를 들어 N=4, K=2, X=1일 때 다음과 같이 그래프가 구성되어 있다고 가정하자. 이 때 1번 도시에서 출발하여 도달할 수 있는 도시 중에서, 최단 거리가 2인 도시는 4번 도시 뿐이다. 2번과 3번 도시의 경우, 최단 거리가 1이기 때문에 출력하지 않는다.입력첫째 줄에 도시의 개수 N, 도로의 개.. 2025. 8. 7. [파이썬] 코딩테스트 13 구현_BFS BFS (너비 우선 탐색) 완전 정리개념부터 차근차근BFS는 "너비 우선 탐색(Breadth-First Search)"이라는 뜻으로,시작점에서 가까운 노드부터 먼저 탐색해 나가는 방식이다.예를 들어아래와 같은 지도가 있다고 하자.출발점은 1번 노드로 한다.(📌 참고: 실제 문제에서는 도시나 정점이라고 부를 수도 있음)이 지도를 BFS로 탐색하면 아래와 같은 순서로 방문하게 된다.→ 즉, 출발점 1번에서 가까운 순으로 2, 3 → 8, 7 → 4, 5, 6 순서로 이동한다.BFS의 핵심 아이디어"가까운 곳부터 먼저 방문하자!"이를 위해 **큐(Queue)**를 이용해 방문 순서를 관리한다.큐는 줄 서기처럼 먼저 들어간 게 먼저 나온다 (FIFO 구조)BFS를 구현하는 방식1. 필요한 준비물방문할 곳 리스.. 2025. 8. 7. [파이썬] 코딩테스트 12 구현_DFS DFS(깊이 우선 탐색) 완전 정복!Depth First Search (깊이 우선 탐색)한 번 시작하면 끝까지 파고드는 방식으로 문제를 푸는 탐색법이다.1. DFS란?*DFS (Depth First Search)**는 말 그대로 **‘깊이 우선 탐색’**이다.간단히 말하면, 출발점에서 갈 수 있는 곳까지 최대한 깊이 들어갔다가,더 이상 갈 곳이 없으면 뒤로 돌아와 다른 길로 가는 방식이다.2. DFS의 핵심 특징구분설명 목적모든 경우의 수를 탐색하기 위해 사용구조반복문 + 스택 자료구조 전략갈 수 있는 길이 있다면 계속 전진! 없다면 한 칸 뒤로구현Stack 자료구조 사용 (list.pop() 사용)대표 용도지도 탐색, 모든 경우의 수 시도, 백트래킹 등3. 지도 탐색뿐 아니라 모든 "경우의 수" 탐색D.. 2025. 8. 7. [파이썬] 코딩테스트 11 구현_선수내용 코딩 테스트 탐색 유형 : 기초 개념부터코딩 테스트에서 탐색은 정말 자주 나오는 중요한 주제 중 하나다.특히 미로 찾기, 지도 문제, 최단 거리 구하기 같은 문제들을 풀 때는 거의 필수로 등장한다.이 글에서는 탐색 문제를 풀기 위해 꼭 알아야 하는 기본 개념들을 정리해보았다.1. while 반복문: 조건 중심의 반복for vs while 차이점구분for문while문반복 방식정해진 횟수/값만큼 반복조건이 만족될 때까지 반복비유“100문제만 풀어!”“30문제 맞출 때까지 풀어!” ▷ 예제: 1부터 10까지 출력하기for문 버전for i in range(1, 11): print(i)while문 버전i = 1while i ▷ while 무한루프 주의!i = 1while True: print(i) .. 2025. 8. 7. [파이썬] 코딩테스트 10 구현_주차문제 문제2022년 카카오 기출 3번정답률 73% 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제 설명주차장의 요금표와 차량이 들어오고(입차) 나간(출차) 기록이 주어졌을 때, 차량별로 주차 요금을 계산하려고 합니다. 아래는 하나의 예시를 나타냅니다.요금표기본 시간(분) 기본 요금(원) 단위 시간(분) 단위 요금(원)180500010600입/출차 기록시각(시:분) 차량 번호 내역05:345961입차06:000000입차06:340000출차07:595961출차07:590148입차18:590000입차19:090148출차22:595961입차23:005961출차자동차별 주차 요금차량 번호 누적 주차 시간(분) 주차 요금(원.. 2025. 8. 6. 이전 1 ··· 5 6 7 8 9 10 11 다음