- [삼성 SW 역량테스트 기출] 메이즈 러너 import sysinput = sys.stdin.readline# M명의 참가자가 미로 탈출하기 게임에 참가# # N x N 크기의 격자, 각 칵은 [빈칸 / 벽 / 출구] 로 구성# 빈칸 : 참가자가 이동 가능한 칸# 벽 : 참가자가 이동할 수 없는 칸, 1~9 이하의 내구도를 가지고 있음# 회전할 때 내구도가 1 씩 깎임, 내구도가 0이 되면 빈칸으로 변경# 출구 : 참가자가 해당 칸에 도착하면 즉시 탈출# 위 과정을 K초 동안 반복# 단, K초 전에 모든 참가자가 탈출에 성공한다면 게임이 끝난다.# 게임이 끝났을 때, [모든 참가자들의 이동 거리의 합]과 [출구 좌표]를 출력# 두 위치간의 최단거리는 abs(x1-x2) + abs(y1-y2)로 정의def calculate_dis(x1,y1,x2,.. 2025.04.12
- [삼성 SW 역량테스트 기출] 루돌프의 반란 import sysfrom collections import dequeinput = sys.stdin.readline# 1. 게임판의 구성# N x N 크기의 격자로 이루어져 있음# 게임은 총 M개의 턴에 걸쳐서 진행되며, 매 턴마다 루돌프와 산타들이 1번씩 움직인다.# 루돌프가 1번 움직인 뒤, 1번부터 P번 산타들이 '순서대로' 움직인다.# 이때 기절해있거나 격자 밖으로 빠져나가 게임에서 탈락한 산타는 움직일 수 X !!# 4. 충돌# 산타와 루돌프가 같은 칸에 있게 되면 충돌이 발생한다. # 4-1. 루돌프가 움직여서 충돌이 일어난 경우 # 해당 산타는 C만큼의 점수를 얻게 된다. # 이와 동시에, 산타는 루돌프가 이동해온 방향으로 C칸 만큼 밀려난다. # 4-2. 산타가 움직.. 2025.04.11
- [삼성 SW 역량테스트 기출] 왕실의 기사 대결 # 각 칸은 빈칸, 함정, 벽으로 구성 (체스판 밖도 벽으로 간주)# 기사들은 상대방을 밀쳐낼 수 있다.# 기사들의 초기 위치는 좌측 상단 (r,c)부터 h x w 크기의 직사각형 형태를 띔# 기사들의 초기 체력은 k# 1) 기사의 이동# 상하좌우 중 하나로 이동# 이동하려는 위치에 기사가 있다면 연쇄적으로 1칸씩 밀리게 됨# 하지만 기사가 이동하려는 방향의 끝에 벽이 있다면 모든 기사는 이동 X# 또한, 체스판에서 사라진 기사에게 명령을 내리면 반응 X# 2) 대결 데미지# 명령을 받은 기사가 다른 기사를 밀치게 되면 밀려난 기사들은 피해를 입는다.# 각 기사들은 해당 기사가 이동한 위치에서 w x h 직사각형 내에 놓여있는 함정의 수 만큼 피해를 입는다.# 각 기사들은 현재 체력 이상의 데미지를 받을.. 2025.04.10
- [삼성 SW 역량테스트 기출] 메두사와 전사들 # N x N 크기의 마을에 도로가 깔려있다. (도로는 0, 비도로는 1)# 집에서 공원까지 산책# 메두사는 오직 도로만을 따라 최단 경로로 공원까지 이동# 메두사의 집과 공원은 항상 도로 위에 있으며(좌표는 서로 다르다고 가정해도 ok)# M명의 전사들이 메두사를 잡기 위해 최단 경로로 이동# 전사들은 도로와 비도로를 구분하지 않고 어느 칸이든 이동 가능# (메두사의 집에 전사들이 초기에 위치하는 경우는 없다고 가정해도 ok)# 메두사는 전사들이 움직이기 전에 그들을 바라봄으로써 돌로 만들어 움직임을 멈출 수 있다.# # # 모든 최단경로 계산은 '맨해튼 거리'를 기준으로 한다 ! ! ! ! !# 1. 메두사의 이동# 메두사는 도로를 따라 1칸 이동하며 공원까지 최단 경로를 따른다. # (만약 집에서 .. 2025.04.06
- [백준 5212번] 지구 온난화 https://www.acmicpc.net/problem/5212 import sysinput = sys.stdin.readline# 'X'는 땅을 나타내고, '.'는 바다를 나타낸다.# 50년이 지나면, 인접한 세 칸 또는 네 칸에 바다가 있는 땅은 모두 잠겨버린다# 상근이는 50년 후 지도를 그려보기로 했다.# 섬의 개수가 오늘날보다 적어질 것이기 때문에, 지도의 크기도 작아져야 한다.# 지도의 크기는 모든 섬을 포함하는 가장 작은 직사각형이다.# 50년이 지난 후에도 섬은 적어도 한 개 있다. # 또, 지도에 없는 곳, 지도의 범위를 벗어나는 칸은 모두 바다이다.R, C = map(int,input().split())area = [list(input().rstrip()) for _ in range(.. 2025.01.02