백준 c++ 7

[백준/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..

[백준/c++] 2217 - 로프

https://www.acmicpc.net/problem/2217 2217번: 로프 N(1 ≤ N ≤ 100,000)개의 로프가 있다. 이 로프를 이용하여 이런 저런 물체를 들어올릴 수 있다. 각각의 로프는 그 굵기나 길이가 다르기 때문에 들 수 있는 물체의 중량이 서로 다를 수도 있다. 하 www.acmicpc.net 1) 풀이 이 문제가 '그리디 알고리즘'과 관련된 문제라고 하던데.. 사실 난 그런 알고리즘 모른다😂 나중에 시간 날 때 찾아보고 정리해놔야지...(이러고 안 적은게 수십개.. 부지런해지자ㅠ~) 이 문제에서 고민해봐야 할 조건은 두 가지 1) 모든 로프를 사용해야 할 필요는 없으며, 임의로 몇 개의 로프를 골라서 사용해도 된다. 2) k개의 로프를 사용해 중량 w를 들어올리면 각 로프에 ..

728x90