2021/08 4

[백준] 신입 사원 1946번

출처 : 1946번: 신입 사원 (acmicpc.net) 1946번: 신입 사원 첫째 줄에는 테스트 케이스의 개수 T(1 ≤ T ≤ 20)가 주어진다. 각 테스트 케이스의 첫째 줄에 지원자의 숫자 N(1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개 줄에는 각각의 지원자의 서류심사 성 www.acmicpc.net 풀이 방법 서류심사와 면접시험이 둘 다 어떤 사람보다 낮으면 채용되지 않는다고 문제에 설명되어 있다. 서류심사 등수 기준으로 정렬을 한 뒤 서류심사 1등은 무조건 채용된다. 서류심사 1등의 면접 등수를 temp라는 변수에 저장한뒤 for문을 돌며 temp보다 좋은 등수를 받은 사람이 있으면 이 사람의 면접 등수를 temp에 저장해주고 ans를 +1해준다 이 과정을 for문 끝까지 반복..

Algorithm 2021.08.20

[백준] 보물섬 2589번 (c++)

출처 : 2589번: 보물섬 (acmicpc.net) 2589번: 보물섬 보물섬 지도를 발견한 후크 선장은 보물을 찾아나섰다. 보물섬 지도는 아래 그림과 같이 직사각형 모양이며 여러 칸으로 나뉘어져 있다. 각 칸은 육지(L)나 바다(W)로 표시되어 있다. 이 지도에서 www.acmicpc.net 풀이 방법 그래프 문제인데 시작점을 여러번 바꿔가면서 bfs를 수행하여야 한다. 그래서 완전 탐색(Brute Force)를 이용하여 육지에서의 거리가 가장 먼 값을 구하여 답으로 출력 해야한다. 여기서 visited에 거리를 저장하는데 시작점을 1로 두어야 다시 시작점을 방문하는 오류를 줄일수 있어 시작점의 visited 값을 1로 설정한뒤 마지막에 답을 출력할때 -1을 해준다. #include using nam..

Algorithm 2021.08.09

[백준] 토마토 7576번 (c++)

출처 : 7576번: 토마토 (acmicpc.net) 7576번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다. 둘째 줄부터는 하나의 상자에 저장된 토마토 www.acmicpc.net 풀이 방법 익은 토마토의 인접한 토마토들이 익어가는 것으로 보아 그래프 문제이다. 인접한 단계에 따라 기간이 흘러가므로 bfs문제로 볼 수 있다. 그런데 이 문제는 bfs의 시작점 즉 처음부터 익어있는 토마토가 한 개가 아니므로 시작점을 여러개 해주어야한다. 그러기 위해 입력을 받을 때 처음으로 익어 있는 토마토의 위치를 저장해 둔다. 그리고 bfs를 돌기위해 저장해둔 토마토 위치를 모두 큐에..

Algorithm 2021.08.04

[백준] 정수 삼각형 1932번 (c++)

출처 : 1932번: 정수 삼각형 (acmicpc.net) 1932번: 정수 삼각형 첫째 줄에 삼각형의 크기 n(1 ≤ n ≤ 500)이 주어지고, 둘째 줄부터 n+1번째 줄까지 정수 삼각형이 주어진다. www.acmicpc.net 풀이 방법 삼각형을 위에서부터 내려오면서 자신의 인덱스가 자신이 속한 층내에서 i 번째라면 바로 위층의 i-1,i 번째 인덱스 중 큰 수를 더해주면서 가장 바닥까지 내려와 바닥중 가장 큰 수를 출력하면 된다 #include using namespace std; vector triangle; int N, ans; int main() { cin >> N; triangle.resize(N); for (int i = 0;i < N;i++) { for (int k = 0;k < i+1..

Algorithm 2021.08.02