본문 바로가기

분류 전체보기108

백준 1113번 : 수영장 만들기 문제 https://www.acmicpc.net/problem/1113 1113번: 수영장 만들기 지민이는 수영장을 만들려고 한다. 수영장을 만들 곳의 크기는 N*M이고, 각 칸은 직육면체이다. 따라서, 각 칸의 직육면체의 높이가 쓰여 있는 다음과 같은 땅을 생각할 수 있다. 16661 61116 16661 이 www.acmicpc.net 구현 방법 한 번에 물의 양을 구하지 않고 한 층씩 해당 높이에서의 고일 수 있는 물을 구하여 더해주었습니다. 값이 입력될 때 수영장의 최대 높이를 구해준다. 높이를 1부터 수영장의 최대 높이만큼 탐색한다. h층의 행, 열을 전부 훑어보며 h보다 낮은 층수가 있다면 방문처리 후 큐에 넣어준다. 4방을 탐색하며 범위안에 들고 방문하지 않고 현재 층수보다 낮은 층수면 큐에.. 2021. 7. 23.
백준 20057번 : 마법사 상어와 토네이도 문제 https://www.acmicpc.net/problem/20057 20057번: 마법사 상어와 토네이도 마법사 상어가 토네이도를 배웠고, 오늘은 토네이도를 크기가 N×N인 격자로 나누어진 모래밭에서 연습하려고 한다. 위치 (r, c)는 격자의 r행 c열을 의미하고, A[r][c]는 (r, c)에 있는 모래의 양을 www.acmicpc.net 구현 방법 방향 전환 위 그림을 보면 depth가 1부터 2번씩 좌, 하, 우, 상 순으로 방향 전환 후 depth가 1씩 늘어가는 걸 확인할 수 있습니다. 모래가 흩날리는 과정 상, 하, 좌, 우가 각자 다르지만 상하, 좌우로 묶어서 구분할 수 있습니다. 구현 코드 package BOJ.Gold; import java.io.*; import java.util.. 2021. 7. 21.
백준 5212번 : 지구 온난화 문제 https://www.acmicpc.net/problem/5212 5212번: 지구 온난화 첫째 줄에 지도의 크기 R과 C (1 ≤ R, C ≤ 10)가 주어진다. 다음 R개 줄에는 현재 지도가 주어진다. www.acmicpc.net 구현 방법 구현 방법이 간단하기 때문에 순서로 나타내보았습니다. 입력 시 섬을 모두 리스트에 저장한다. 하나씩 꺼내서 4방을 탐색하며 주변 바다 개수를 카운팅 한다. 카운팅한 값이 3이상이면 잠기는 섬이므로 새로운 맵에 .으로 값을 저장해준다. 가장 위 왼쪽에서부터 출발 행, 출발 열을 구하고 가장 아래 오른쪽에서부터 도착 행, 도착 열 값을 구해준다. 출발 행부터 도착 행까지 출발 열부터 도착 열까지의 값만 출력해준다. 구현 코드 package BOJ.Silver; .. 2021. 7. 20.
백준 14719번 : 빗물 문제 https://www.acmicpc.net/problem/14719 14719번: 빗물 첫 번째 줄에는 2차원 세계의 세로 길이 H과 2차원 세계의 가로 길이 W가 주어진다. (1 ≤ H, W ≤ 500) 두 번째 줄에는 블록이 쌓인 높이를 의미하는 0이상 H이하의 정수가 2차원 세계의 맨 왼쪽 위치 www.acmicpc.net 구현 방법 리스트에 각 층이 몇 층인지 넣어 준 다음 제일 아래층부터 한 층씩 계산해주었습니다. 현재 계산 중인 층 isWall은 true 현재 계산 중인 층 >= 해당 열의 층수이고 isWall이 true(이미 앞에 벽이 있었다면) == 물이 고일 수 있으므로 cnt++ 현재 계산 중인 층 < 해당 열의 층수 == 벽인데 isWal.. 2021. 7. 20.