BFS

프로그래머스 문제풀이/LEVEL 2

[프로그래머스 / Level 2] 카카오프렌즈 컬러링북 (C++)

https://programmers.co.kr/learn/courses/30/lessons/1829 코딩테스트 연습 - 카카오프렌즈 컬러링북 6 4 [[1, 1, 1, 0], [1, 2, 2, 0], [1, 0, 0, 1], [0, 0, 0, 1], [0, 0, 0, 3], [0, 0, 0, 3]] [4, 5] programmers.co.kr BFS를 사용하여 해결할 수 있는 문제입니다. 문제 접근법 전체 범위에 대해서 BFS를 통한 탐색을 시작하되, 그 범위를 한번도 탐색한 적이 없고, 0이 아닐 때 BFS 함수를 호출합니다. BFS가 호출 됬을 때 마다 새로운 영역이 있다는 의미가 되므로 영역 갯수를 증가시켜줍니다. BFS를 통해 영역의 넓이를 구하고 영역의 최대값을 갱신합니다. 모든 탐색이 끝나면 ..

백준 문제풀이/GOLD

[백준 / BOJ / GOLD 5] 5014 번 : 스타트링크

www.acmicpc.net/problem/5014 5014번: 스타트링크 첫째 줄에 F, S, G, U, D가 주어진다. (1 ≤ S, G ≤ F ≤ 1000000, 0 ≤ U, D ≤ 1000000) 건물은 1층부터 시작하고, 가장 높은 층은 F층이다. www.acmicpc.net 문제 접근법 S층에서 G층까지 가는 최소 버튼수를 구해야한다. 최단거리를 구할 때 사용할 수 있는 BFS를 사용해도 되는지 체크해본다. 최대 백만번을 초과하지 않으므로 BFS를 충분히 사용가능하다. 아래는 코드입니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42..

백준 문제풀이/GOLD

[백준 / BOJ / GOLD 5] 9019 번 : DSLR

https://www.acmicpc.net/problem/9019 9019번: DSLR 문제 네 개의 명령어 D, S, L, R 을 이용하는 간단한 계산기가 있다. 이 계산기에는 레지스터가 하나 있는데, 이 레지스터에는 0 이상 10,000 미만의 십진수를 저장할 수 있다. 각 명령어는 이 레지스터에 저장된 n을 다음과 같이 변환한다. n의 네 자릿수를 d1, d2, d3, d4라고 하자(즉 n = ((d1 × 10 + d2) × 10 + d3) × 10 + d4라고 하자) D: D 는 n을 두 배로 바꾼다. 결과 값이 9999 보다 큰 경 www.acmicpc.net 문제 접근법 입력 값과 명령어를 저장할 queue를 만든다. 4가지 명령어를 수행할 때 방문을 체크하기 위하여 bool 값 배열을 준비한..

백준 문제풀이/GOLD

[백준 / BOJ / GOLD 4] 3055 번 : 탈출

https://www.acmicpc.net/problem/3055 3055번: 탈출 문제 사악한 암흑의 군주 이민혁은 드디어 마법 구슬을 손에 넣었고, 그 능력을 실험해보기 위해 근처의 티떱숲에 홍수를 일으키려고 한다. 이 숲에는 고슴도치가 한 마리 살고 있다. 고슴도치는 제일 친한 친구인 비버의 굴로 가능한 빨리 도망가 홍수를 피하려고 한다. 티떱숲의 지도는 R행 C열로 이루어져 있다. 비어있는 곳은 '.'로 표시되어 있고, 물이 차있는 지역은 '*', 돌은 'X'로 표시되어 있다. 비버의 굴은 'D'로, 고슴도치의 위치는 'S'로 나 www.acmicpc.net 문제 접근법 단순 이동만이 아니라 물이 매턴마다 차오르는것을 신경써야 하는 문제이다. 주어진 맵을 그리기 위한 2차원 배열 1개와 물이 차오..

백준 문제풀이/GOLD

[백준 / BOJ / GOLD 4] 13913 번 : 숨바꼭질 4

https://www.acmicpc.net/problem/13913 13913번: 숨바꼭질 4 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 때 걷는다면 1초 후에 X-1 또는 X+1로 이동하게 된다. 순간이동을 하는 경우에는 1초 후에 2*X의 위치로 이동하게 된다. 수빈이와 동생의 위치가 주어졌을 때, 수빈이가 동생을 찾을 수 있는 가장 빠른 시간이 몇 초 후인지 구하는 www.acmicpc.net 문제 접근 방법 이동 가능한 3가지 방법에 대하여 진행을 해야 한다. 이동 경로에 대한 저장이 필요하므로 경로에 대한 배열을 추가..

백준 문제풀이/GOLD

[백준 / BOJ / GOLD 3] 14442 번 : 벽 부수고 이동하기 2

https://www.acmicpc.net/problem/14442 14442번: 벽 부수고 이동하기 2 첫째 줄에 N(1 ≤ N ≤ 1,000), M(1 ≤ M ≤ 1,000), K(1 ≤ K ≤ 10)이 주어진다. 다음 N개의 줄에 M개의 숫자로 맵이 주어진다. (1, 1)과 (N, M)은 항상 0이라고 가정하자. www.acmicpc.net 주어진 범위의 맵 내부에서 목적지까지 도달하는 최단거리를 구하는 문제입니다. 아래는 코드입니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53..

백준 문제풀이/SILVER

[백준 / BOJ / SILVER 2] 3184 번 : 양

https://www.acmicpc.net/problem/3184 3184번: 양 문제 미키의 뒷마당에는 특정 수의 양이 있다. 그가 푹 잠든 사이에 배고픈 늑대는 마당에 들어와 양을 공격했다. 마당은 행과 열로 이루어진 직사각형 모양이다. 글자 '.' (점)은 빈 필드를 의미하며, 글자 '#'는 울타리를, 'o'는 양, 'v'는 늑대를 의미한다. 한 칸에서 수평, 수직만으로 이동하며 울타리를 지나지 않고 다른 칸으로 이동할 수 있다면, 두 칸은 같은 영역 안에 속해 있다고 한다. 마당에서 "탈출"할 수 있는 칸은 어떤 영역에도 속하지 www.acmicpc.net 주어진 범위 안에 있는 각각의 울타리 내부의 양과 늑대의 수를 파악하여 조건에 따라 최종 양과 늑대 수를 출력하는 문제입니다. 아래는 코드입니..

지나가던 개발자
'BFS' 태그의 글 목록