목록백준 (183)
Study hard

www.acmicpc.net/problem/20058 20058번: 마법사 상어와 파이어스톰 마법사 상어는 파이어볼과 토네이도를 조합해 파이어스톰을 시전할 수 있다. 오늘은 파이어스톰을 크기가 2N × 2N인 격자로 나누어진 얼음판에서 연습하려고 한다. 위치 (r, c)는 격자의 r행 c www.acmicpc.net [풀이] 문제에 나와있는 조건을 모두 구현하면 되는 문제였다. 구현한 것 1. 2^N * 2^N 얼음판을 2^L * 2^L 크기의 격자로 나누어 시계방향으로 90도 회전 → 각 격자의 가장 바깥쪽부터 안쪽으로 순서대로 회전시켜주었다. (Turn함수) 2. 각 얼음이 있는 칸에 대하여 얼음이 있는 인접한 칸이 3개 미만인 칸 저장(checkSurround함수) ※조건에 해당하는 칸을 볼때마다 ..

www.acmicpc.net/problem/20057 20057번: 마법사 상어와 토네이도 마법사 상어가 토네이도를 배웠고, 오늘은 토네이도를 크기가 N×N인 격자로 나누어진 모래밭에서 연습하려고 한다. 위치 (r, c)는 격자의 r행 c열을 의미하고, A[r][c]는 (r, c)에 있는 모래의 양을 www.acmicpc.net [풀이] 문제에 있는 조건들을 구현하면 되는 문제였다. 구현한 것 1. 토네이도 모양대로 이동하기 -while문 안에 for문 두 개로 구현하였다. 헷갈려서 Map 배열에 경로 저장하고 출력하여 확인했다. -방향은 왼쪽 → 아래쪽 → 오른쪽 → 위쪽 순서 반복 2. 모래를 비율과 a가 적혀있는 칸으로 이동시키기(방향 생각!) -비율을 p정수 배열에 저장해놓고, 왼쪽, 아래쪽, 오..

www.acmicpc.net/problem/20056 20056번: 마법사 상어와 파이어볼 첫째 줄에 N, M, K가 주어진다. 둘째 줄부터 M개의 줄에 파이어볼의 정보가 한 줄에 하나씩 주어진다. 파이어볼의 정보는 다섯 정수 ri, ci, mi, si, di로 이루어져 있다. 서로 다른 두 파이어볼의 위치 www.acmicpc.net [풀이] 먼저 파이어볼의 질량, 속력, 방향을 저장하는 구조체 벡터 배열(vectorball[51][51])에 파이어볼의 정보를 저장하는 것으로 시작하였다. 구현한 함수 1. 모든 파이어볼을 자신의 방향 d로 속력 s칸 이동시키는 함수(여러 파이어볼이 한 칸에 함께 있을 수 있다) 2. 2개 이상의 파이어볼이 있는 곳 조건에 맞게 처리하는 함수 ※문제를 잘못 이해해서 2개..

www.acmicpc.net/problem/20055 20055번: 컨베이어 벨트 위의 로봇 길이가 N인 컨베이어 벨트가 있고, 길이가 2N인 벨트가 이 컨베이어 벨트를 위아래로 감싸며 돌고 있다. 벨트는 길이 1 간격으로 2N개의 칸으로 나뉘어져 있으며, 각 칸에는 아래 그림과 같이 1부 www.acmicpc.net [풀이] 문제에 있는 순서대로 구현해주면 풀 수 있는 문제였다. 먼저 구조체 배열에 컨베이어 벨트 한 칸의 정보(로봇이 있는지, 해당 칸의 내구도)를 저장하는 것으로 시작하였다. 구현한 함수들 1. 벨트를 한 칸씩 회전시키는 함수 2. 로봇을 벨트가 회전하는 방향으로 한 칸씩 이동시키는 함수(이동할 수 있는 조건 有) +1번 칸에 로봇 올리기 3. 내구도가 0인 칸의 개수가 K개 이상인지 ..

www.acmicpc.net/problem/16974 16974번: 레벨 햄버거 상근날드에서 오랜만에 새로운 햄버거를 출시했다. 바로 레벨-L 버거이다. 레벨-L 버거는 다음과 같이 만든다. 레벨-0 버거는 패티만으로 이루어져 있다. 레벨-L 버거는 햄버거번, 레벨-(L-1) 버거, www.acmicpc.net [풀이] 먼저 burger[51]과 patty[51]에 전체 재료의 수와 패티의 수를 저장하였다. 그리고 X의 범위에 따라 return값을 달리 해 주었다. N이 0이고 X가 1이면 버거에는 패티 1장만 있으므로 1을 반환한다. N이 1이 아니고 X가 1이면 마지막 재료는 햄버거번이므로 0을 반환한다. 그리고 X의 크기가 아래 표시된 영역의 재료 수보다 작거나 같을 때 몇 장의 패티를 벅는지 반환..

www.acmicpc.net/problem/16939 16939번: 2×2×2 큐브 첫째 줄에 2×2×2 루빅스 큐브 각 면의 각 칸 색상이 주어진다. 색상은 1부터 6까지의 자연수로 나타내며, 각 자연수는 총 4번 등장한다. i번째 수가 의미하는 칸은 아래와 같다. www.acmicpc.net [풀이] 큐브를 아래 그림과 같이 두고 풀었다. 위와 같이 두고 입력을 받으면 뒷면->윗면->앞면->왼면->오른면->아랫면 순서로 입력을 받게 된다. 각 면을 시계방향으로 돌리는 경우와 반시계방향으로 돌리는 경우를 모두 확인하도록 해야한다. ※각면을 윗면로 두었을 때 사방에 어떤 면의 몇번째 칸이 붙게 되는지 그려보면서 풀어서 그나마 덜 헷갈리고 풀 수 있었다.. 처음엔 각 면마다 2*2배열을 선언해주었는데 복사..