전체 글

전체 글

    BOJ - 마법사 상어와 파이어스톰 20058번 (python)

    ❓ 문제 - 백준 마법사 상어와 파이어스톰 20058번 - python 풀이법 출처 (https://www.acmicpc.net/problem/20058) 20058번: 마법사 상어와 파이어스톰 마법사 상어는 파이어볼과 토네이도를 조합해 파이어스톰을 시전할 수 있다. 오늘은 파이어스톰을 크기가 2N × 2N인 격자로 나누어진 얼음판에서 연습하려고 한다. 위치 (r, c)는 격자의 r행 c www.acmicpc.net 📝 문제해결법 1. 이 문제는 구현+BFS으로 풀었다. 파이어스톰으로 l이 주어지면 l이 n과 같으면 격자판을 나눌 필요없이 전체 90도를 돌리고 l이 0이면 격자판이 1x1이므로 90도 회전할 필요가 없다. 또한 격자판을 나눠서 90도 회전하는 것은 rotate()함수를 사용한다. rota..

    BOJ - 마법사 상어와 토네이도 20057번 (python)

    ❓ 문제 - 백준 마법사 상어와 토네이도 20057번 - python 풀이법 출처 (https://www.acmicpc.net/problem/20057) 20057번: 마법사 상어와 토네이도 마법사 상어가 토네이도를 배웠고, 오늘은 토네이도를 크기가 N×N인 격자로 나누어진 모래밭에서 연습하려고 한다. 위치 (r, c)는 격자의 r행 c열을 의미하고, A[r][c]는 (r, c)에 있는 모래의 양을 www.acmicpc.net 📝 문제해결법 1. 이 문제는 구현으로 풀었다. 격자판의 중심에서 토네이도가 이동했을 때 위치와 방향을 저장하기 위해 1 ~ n*n의 딕셔너리인 b_dict 선언하여 쉽게 접근할 수 있도록 구현하였다. 만약 토네이도가 한바퀴 다 이동하는 것은 딕셔너리의 1 ~ n*n까지의 키로 접..

    BOJ - 마법사 상어와 파이어볼 20056번 (python)

    ❓ 문제 - 백준 마법사 상어와 파이어볼 20056번 - python 풀이법 출처 (https://www.acmicpc.net/problem/20056) 20056번: 마법사 상어와 파이어볼 첫째 줄에 N, M, K가 주어진다. 둘째 줄부터 M개의 줄에 파이어볼의 정보가 한 줄에 하나씩 주어진다. 파이어볼의 정보는 다섯 정수 ri, ci, mi, si, di로 이루어져 있다. 서로 다른 두 파이어볼의 위치 www.acmicpc.net 📝 문제해결법 1. 이 문제는 구현으로 풀었다. board에 현재 파이어볼에 행과 열에 해당하는 정보(질량, 속력, 방향)을 저장한다. move() 함수를 활용하여 k만큼 파이어볼을 이동시킨다. board에 현재 남아있는 파이어볼의 질량합을 구해 출력한다. 2. move()..

    BOJ - 컨베이어 벨트 위의 로봇 20055번 (python)

    ❓ 문제 - 백준 컨베이어 벨트 위의 로봇 20055번 - python 풀이법 출처 (https://www.acmicpc.net/problem/20055) 20055번: 컨베이어 벨트 위의 로봇 길이가 N인 컨베이어 벨트가 있고, 길이가 2N인 벨트가 이 컨베이어 벨트를 위아래로 감싸며 돌고 있다. 벨트는 길이 1 간격으로 2N개의 칸으로 나뉘어져 있으며, 각 칸에는 아래 그림과 같이 1부 www.acmicpc.net 📝 문제해결법 1. 이 문제는 구현으로 풀었다. 컨베이어 벨트의 내구성을 저장할 큐와 로봇의 정보를 저장할 큐를 사용하며, 다음 로직을 while 문으로 반복적으로 수행한다. 컨베이어 벨트와 로봇이 같이 한칸씩 옆으로 돌아가므로 queue의 rotate(1) 을 활용한다. 로봇은 n-1에서..