백준
-
백준 16236번 아기상어PS 2020. 2. 7. 23:35
https://www.acmicpc.net/problem/16236 16236번: 아기 상어 N×N 크기의 공간에 물고기 M마리와 아기 상어 1마리가 있다. 공간은 1×1 크기의 정사각형 칸으로 나누어져 있다. 한 칸에는 물고기가 최대 1마리 존재한다. 아기 상어와 물고기는 모두 크기를 가지고 있고, 이 크기는 자연수이다. 가장 처음에 아기 상어의 크기는 2이고, 아기 상어는 1초에 상하좌우로 인접한 한 칸씩 이동한다. 아기 상어는 자신의 크기보다 큰 물고기가 있는 칸은 지나갈 수 없고, 나머지 칸은 모두 지나갈 수 있다. 아기 상어는 자신의 크 www.acmicpc.net bfs 탐색으로 시뮬레이션하는 문제입니다. 처음에 큐에 넣는 순서를 조건대로 해준 다음에 먹이를 만나면 바로 먹는 것으로 처리를 하..
-
백준 17144번 미세먼지 안녕!PS 2020. 2. 7. 22:45
https://www.acmicpc.net/problem/17144 17144번: 미세먼지 안녕! 미세먼지를 제거하기 위해 구사과는 공기청정기를 설치하려고 한다. 공기청정기의 성능을 테스트하기 위해 구사과는 집을 크기가 R×C인 격자판으로 나타냈고, 1×1 크기의 칸으로 나눴다. 구사과는 뛰어난 코딩 실력을 이용해 각 칸 (r, c)에 있는 미세먼지의 양을 실시간으로 모니터링하는 시스템을 개발했다. (r, c)는 r행 c열을 의미한다. 공기청정기는 항상 왼쪽 열에 설치되어 있고, 크기는 두 행을 차지한다. 공기청정기가 설치되어 있지 않은 칸에는 미세먼 www.acmicpc.net 그냥 시뮬레이션 문제입니다. 다만 배열 돌리기를 구현해야하고 공기청정기가 깨끗한 공기를 내뱉고 미세먼지를 먹는다는 조건도 구현..
-
백준 12100번 2048(Easy)PS 2020. 2. 6. 01:07
https://www.acmicpc.net/problem/12100 12100번: 2048 (Easy) 첫째 줄에 보드의 크기 N (1 ≤ N ≤ 20)이 주어진다. 둘째 줄부터 N개의 줄에는 게임판의 초기 상태가 주어진다. 0은 빈 칸을 나타내며, 이외의 값은 모두 블록을 나타낸다. 블록에 쓰여 있는 수는 2보다 크거나 같고, 1024보다 작거나 같은 2의 제곱꼴이다. 블록은 적어도 하나 주어진다. www.acmicpc.net 중복순열에 동작구현을 하면 되는 문제입니다. 동작구현이 조금 까다로웠습니다. 4방향에 대한 각각의 동작을 압축하는 것이 힘들었습니다. 얼마나 압축할 것인지와 거기에 따라 달라지는 자료구조와 구현이 직관적으로 머리에 담기는 힘들었습니다. 종이에 풀어쓰는 연습이 더 필요할 거 같습니..
-
백준 13460번 구슬 탈출2PS 2020. 2. 4. 22:03
https://www.acmicpc.net/problem/13460 13460번: 구슬 탈출 2 첫 번째 줄에는 보드의 세로, 가로 크기를 의미하는 두 정수 N, M (3 ≤ N, M ≤ 10)이 주어진다. 다음 N개의 줄에 보드의 모양을 나타내는 길이 M의 문자열이 주어진다. 이 문자열은 '.', '#', 'O', 'R', 'B' 로 이루어져 있다. '.'은 빈 칸을 의미하고, '#'은 공이 이동할 수 없는 장애물 또는 벽을 의미하며, 'O'는 구멍의 위치를 의미한다. 'R'은 빨간 구슬의 위치, 'B'는 파란 구슬의 위치이다. 입력되는 모든 보드 www.acmicpc.net 최소, 탐색 이라는 키워드로 bfs에 대한 느낌을 받을 수 있었습니다. 처음에 이동은 바로 감이 잡혔으나 방문은 잘모르겠단 생각..
-
백준 17822번 원판돌리기PS 2020. 2. 4. 21:55
https://www.acmicpc.net/problem/17822 17822번: 원판 돌리기 반지름이 1, 2, ..., N인 원판이 크기가 작아지는 순으로 바닥에 놓여있고, 원판의 중심은 모두 같다. 원판의 반지름이 i이면, 그 원판을 i번째 원판이라고 한다. 각각의 원판에는 M개의 정수가 적혀있고, i번째 원판에 적힌 j번째 수의 위치는 (i, j)로 표현한다. 수의 위치는 다음을 만족한다. (i, 1)은 (i, 2), (i, M)과 인접하다. (i, M)은 (i, M-1), (i, 1)과 인접하다. (i, j)는 (i, j-1), (i, j www.acmicpc.net 시뮬레이션 문제입니다. 인접규칙이 언뜻 보기에는 까다로웠고 문제 동작도 예제를 통해 확인을 해봐야만 정확한 부분이 있었습니다. 인..
-
백준 17837번 새로운 게임2PS 2020. 1. 30. 23:16
https://www.acmicpc.net/problem/17837 17837번: 새로운 게임 2 재현이는 주변을 살펴보던 중 체스판과 말을 이용해서 새로운 게임을 만들기로 했다. 새로운 게임은 크기가 N×N인 체스판에서 진행되고, 사용하는 말의 개수는 K개이다. 말은 원판모양이고, 하나의 말 위에 다른 말을 올릴 수 있다. 체스판의 각 칸은 흰색, 빨간색, 파란색 중 하나로 색칠되어있다. 게임은 체스판 위에 말 K개를 놓고 시작한다. 말은 1번부터 K번까지 번호가 매겨져 있고, 이동 방향도 미리 정해져 있다. 이동 방향은 위, 아래, 왼쪽, 오른쪽 www.acmicpc.net 새로운 게임2 입니다! 삼성코테기출이라고 하네요 새로운 게임2보다 조금 더 쉬운 문제가 있습니다. 혹시 2먼저 도전하셨다가 못풀..
-
백준 17780번 새로운 게임PS 2020. 1. 29. 23:56
https://www.acmicpc.net/problem/17780 17780번: 새로운 게임 재현이는 주변을 살펴보던 중 체스판과 말을 이용해서 새로운 게임을 만들기로 했다. 새로운 게임은 크기가 N×N인 체스판에서 진행되고, 사용하는 말의 개수는 K개이다. 말은 원판모양이고, 하나의 말 위에 다른 말을 올릴 수 있다. 체스판의 각 칸은 흰색, 빨간색, 파란색 중 하나로 색칠되어있다. 게임은 체스판 위에 말 K개를 놓고 시작한다. 말은 1번부터 K번까지 번호가 매겨져 있고, 이동 방향도 미리 정해져 있다. 이동 방향은 위, 아래, 왼쪽, 오른쪽 www.acmicpc.net 말이 겹치는 상황에서 말을 관리하려면 2차원배열의 벡터가 필요합니다. 말이 4개 이상 쌓이면 게임을 종료하는 것입니다. 딱 4개가 ..
-
백준 15898번 피아의 아틀리에 ~신비한 대회의 연금술사~PS 2020. 1. 28. 16:48
https://www.acmicpc.net/problem/15898 15898번: 피아의 아틀리에 ~신비한 대회의 연금술사~ "피아의 아틀리에 ~신비한 대회의 연금술사~"는 가난한 연금술사 피아의 성장스토리를 담은 게임이다. 이 게임의 가장 중요한 부분은 "대회"인데, 연금술로 높은 품질의 물건을 만들어 상금을 타야만 피아가 먹고 살 수 있기 때문이다. 스토리는 매우 길지만 여백이 없어 생략하기로 하고, 여러분은 이 게임의 대회 기능을 확인해달라는 요청을 받았다. 여러분이 확인해야 하는 대회는 다음과 같다. 여러분은 5×5 격자 모양 가마에 서로 다른 재료 3개를 순서대로 넣어 www.acmicpc.net 처음에는 dfs0 기저에서 dfs1 호출, dfs1 기저에서 dfs2 호출, dfs2 기저에서 계산..