본문 바로가기

구현23

[백준 16918] 봄버맨 www.acmicpc.net/problem/16918 16918번: 봄버맨 첫째 줄에 R, C, N (1 ≤ R, C, N ≤ 200)이 주어진다. 둘째 줄부터 R개의 줄에 격자판의 초기 상태가 주어진다. 빈 칸은 '.'로, 폭탄은 'O'로 주어진다. www.acmicpc.net 뭔가 쉬운데 헷갈렸던 문제.. bfs가 살짝 필요한 구현문제이다. 3초짜리폭탄을 설치하고 1초를 냅둔다. 2초에 빈자리에 폭탄을 설치한다. 폭탄이 0초가 되면 터지고 주변에 폭탄이 있다면 같이 터진다. 그뒤로 폭탄 설치와 폭발이 반복이다 폭탄 설치는 짝수 초에 계속된다. 그래서 남은 폭탄 시간을 저장하는 이차원 배열 time을 만들었다. 폭탄 설치 시 3이 저장되며 폭탄이 없는 공간은 -1이다. 배열이 0이 되면 폭탄이 터져서 .. 2020. 12. 27.
[백준 16235] 나무 재테크 www.acmicpc.net/problem/16235 16235번: 나무 재테크 부동산 투자로 억대의 돈을 번 상도는 최근 N×N 크기의 땅을 구매했다. 상도는 손쉬운 땅 관리를 위해 땅을 1×1 크기의 칸으로 나누어 놓았다. 각각의 칸은 (r, c)로 나타내며, r은 가장 위에서부터 www.acmicpc.net 어렵진 않았는데 조건이 너무 복잡했던 문제.. 봄+여름/ 가을/ 겨울로 나눠준다. 가을 겨울은 상대적으로 쉬우니까 패스 봄이랑 여름이 같이 구현되는게 편하다. 이 때 주의할 점은 1. 봄에 양분을 먹고 나이가 증가한다는 점 2. 죽은 나무가 주는 양분은 나무가 전부 죽은 후 생긴다는 점: 여름에 죽은 나무가 양분이 되기 때문 이 두 가지를 체크해야 한다. #include #include #inc.. 2020. 12. 26.
[백준 16236] 아기 상어 www.acmicpc.net/problem/16236 16236번: 아기 상어 N×N 크기의 공간에 물고기 M마리와 아기 상어 1마리가 있다. 공간은 1×1 크기의 정사각형 칸으로 나누어져 있다. 한 칸에는 물고기가 최대 1마리 존재한다. 아기 상어와 물고기는 모두 크기를 가 www.acmicpc.net bfs를 사용하는 구현문제. 조건이 너무 많다. 1. 물고기가 있는 지 확인 2. 있다면 먹기 3. 여러 마리라면 우선순위가 있다. 가까운 물고기 -> 위쪽 -> 왼쪽 에 있는 물고기 먹기 4. 없으면 엄마 상어 부르기 이다. 물고기를 먹기 위한 조건은 크기보다 작은 경우에만 가능하다. 크기가 동일하면 지나가는 것만 가능 크기가 커지는 조건은 물고기를 크기만큼 먹었을 때 크기가 1만큼 커진다. 1 2 3.. 2020. 12. 26.
[백준 17140] 이차원 배열과 연산 www.acmicpc.net/problem/17140 17140번: 이차원 배열과 연산 첫째 줄에 r, c, k가 주어진다. (1 ≤ r, c, k ≤ 100) 둘째 줄부터 3개의 줄에 배열 A에 들어있는 수가 주어진다. 배열 A에 들어있는 수는 100보다 작거나 같은 자연수이다. www.acmicpc.net map과 vector를 사용해서 풀었다. 1. row와 col 비교 row>= col이면 row따라 else 면 col따라 연산을 진행한다. 2. 연산 2-1. 연산을 진행할 때 등장횟수 측정을 위해 map을 사용했다. 각 row/col마다 map으로 등장횟수를 측정하고 vector에 담아서 map을 소트했다. vector v(m.begin(), v.end()); 2-2. map에 담는 과정에서 0.. 2020. 12. 23.