BFS 8

[프로그래머스/JavaScript] 소수 찾기

https://school.programmers.co.kr/learn/courses/30/lessons/42839 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1) 풀이 소수 찾는 알고리즘 + dfs로 순열 풀듯이 푸는 방식을 사용했다 소수 찾는 알고리즘은 이전에 풀어본 적이 있었고 순열 풀이도 예전 휴학때 해본 적 있으나 잊고 살다가 코테 준비한다고 급하게 풀어보는 중.. 나중에 참고하려고 참고했던 자료를 첨부한다 자료 보면 풀이 이해가기 때문에 따로 적지는 않음! 2) 최종 소스코드 function solution(numbers) { let answ..

[프로그래머스/c++] 게임 맵 최단거리

https://programmers.co.kr/learn/courses/30/lessons/1844 코딩테스트 연습 - 게임 맵 최단거리 [[1,0,1,1,1],[1,0,1,0,1],[1,0,1,1,1],[1,1,1,0,1],[0,0,0,0,1]] 11 [[1,0,1,1,1],[1,0,1,0,1],[1,0,1,1,1],[1,1,1,0,0],[0,0,0,0,1]] -1 programmers.co.kr 1) 풀이 요즘 BFS, DFS 문제를 백준에서 집중적으로 다시 풀어보다가, 프로그래머스에서는 한 번도 이 알고리즘문제를 풀어본 적이 없어서 풀어보았다! 사실 기존의 BFS 풀이랑 별반 다를 건 없는데, 백준과 푸는 방식? 제출 방식? 뭐라고 해야 하나. 아무튼.. 그게 달라서 적응이 좀 필요할 것 같다 😂 ..

[백준/c++] 1012 - 유기농 배추

https://www.acmicpc.net/problem/1012 1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 www.acmicpc.net 1) 풀이 요거는 이전에 풀었던 '그림'문제와 똑같은 풀이 방식! 풀이 자체는 아래 글을 참고하면 될 것 같다. 2021.05.31 - [알고리즘 | 자료구조/백준] - [백준/c++] 1926 - 그림 [백준/c++] 1926 - 그림 https://www.acmicpc.net/problem/1926 1926번: 그림 어떤 큰 도화지에 그림이 그려져 있을 때, 그 그림의 개수와, 그 그림 중 넓이가 가장 넓..

[백준/c++] 1697 - 숨바꼭질

https://www.acmicpc.net/problem/1697 1697번: 숨바꼭질 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net 1) 풀이 이전에 풀이했던 BFS 문제들과는 다르게, 이번엔 일차원 배열에서 행해지는 bfs 문제이다. 어떻게 보면 이차원 배열보다 비교적 간단하다고 할 수 있다. 수빈이와 동생이 위치하고 있는 지점은 배열의 인덱스로 생각하면 된다. 숨바꼭질하는 판(board)과 수빈이가 동생을 찾는 시간을 저장하는 배열을 따로 둘 필요없이 그냥 수빈이가 이동하는 좌표(인덱스)에 값으로..

[백준/c++] 4179 - 불!

https://www.acmicpc.net/problem/4179 4179번: 불! 입력의 첫째 줄에는 공백으로 구분된 두 정수 R과 C가 주어진다. 단, 1 ≤ R, C ≤ 1000 이다. R은 미로 행의 개수, C는 열의 개수이다. 다음 입력으로 R줄동안 각각의 미로 행이 주어진다. 각각의 문 www.acmicpc.net 1) 풀이 분명 예전에 푼 문제인데.. 왜 이렇게 어려운 걸까😂 예전에 한 번 풀고 다시 복습하고 있음에도 어려운 문제들이 너무 많다... 공부엔 끝이 읍다... 후. 아무튼, 이 문제 또한 BFS 문제인데 이건 두개의 BFS 탐색을 돌린다고 생각하면 된다. 하나는 1) 불의 이동, 하나는 2) 지훈이의 이동 이렇게 해서! 그럼 어떤 것을 먼저 탐색하느냐 가 중요한데, 이 문제에서 ..

[백준/c++] 2178 - 미로 탐색

https://www.acmicpc.net/problem/2178 2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net 1) 풀이 이 문제를 풀고 얻은 교훈이 있다면... 문제를 잘 읽자!!!! 😂 이 문제에서 진한 글씨로 강조된 부분이 있는데 난 문제를 대강 읽고 문제 풀는 데에 바빠서 강조되어있는줄도 몰랐다.... 이거 때문에 나처럼 헤매거나 틀리는 사람이 없었으면 좋겠다!! 이 문제는 내가 이전에 풀이해놨던 문제를 응용하면 된다! 미로의 제일 첫번째칸으로부터 마지막칸까지의 거리를 측정하는 문제라고 생각하면 되기 때문이다. 시작점에서부터 상하..

[백준/c++] 7576 - 토마토

https://www.acmicpc.net/problem/7576 7576번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다. 둘째 줄부터는 하나의 상자에 저장된 토마토 www.acmicpc.net 1) 풀이 BFS 문제 푸는 주간... 몽롱한 상태로 풀고 몽롱한 상태로 글을 쓰자니 약간 횡설수설할 수 있음에 주의하자! 이전에도 BFS 문제를 풀었으니 이 알고리즘에 대한 전반적인 풀이방법은 이전 글을 참고하자 2021.05.31 - [알고리즘 | 자료구조/백준] - [백준/c++] 1926 - 그림 이전 글과 다른 점이 있다면, 1) 탐색을 시작하는 지점이 여러 개이며 2) ..

[백준/c++] 1926 - 그림

https://www.acmicpc.net/problem/1926 1926번: 그림 어떤 큰 도화지에 그림이 그려져 있을 때, 그 그림의 개수와, 그 그림 중 넓이가 가장 넓은 것의 넓이를 출력하여라. 단, 그림이라는 것은 1로 연결된 것을 한 그림이라고 정의하자. 가로나 세로 www.acmicpc.net 1) 풀이 BFS (너비우선탐색)을 이용하여 풀면 되는 문제다. BFS에 대한 설명은 아래 3) 참고자료를 참고하길 바란다. BFS 문제 중에서도 딱히 어려운 난이도는 아니라 그것만 안다면 쉽게 풀 수 있다! 여기에서 1로 연결된 것을 그림이라고 하는데, 그 그림의 개수와 그 중 가장 큰 넓이를 출력하면 된다. 1. 제일 먼저 탐색을 시작할 좌표를 찾는다. (값이 1인 좌표를 찾아서 시작해야 한다) 2..

728x90