코딩테스트4 [삼성 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. 4. 11. [삼성 SW 역량테스트 기출] 메두사와 전사들 # N x N 크기의 마을에 도로가 깔려있다. (도로는 0, 비도로는 1)# 집에서 공원까지 산책# 메두사는 오직 도로만을 따라 최단 경로로 공원까지 이동# 메두사의 집과 공원은 항상 도로 위에 있으며(좌표는 서로 다르다고 가정해도 ok)# M명의 전사들이 메두사를 잡기 위해 최단 경로로 이동# 전사들은 도로와 비도로를 구분하지 않고 어느 칸이든 이동 가능# (메두사의 집에 전사들이 초기에 위치하는 경우는 없다고 가정해도 ok)# 메두사는 전사들이 움직이기 전에 그들을 바라봄으로써 돌로 만들어 움직임을 멈출 수 있다.# # # 모든 최단경로 계산은 '맨해튼 거리'를 기준으로 한다 ! ! ! ! !# 1. 메두사의 이동# 메두사는 도로를 따라 1칸 이동하며 공원까지 최단 경로를 따른다. # (만약 집에서 .. 2025. 4. 6. [코딩테스트 문제 풀이 전략] 코딩테스트 관련 Tip 1. 코딩테스트를 보는 이유 문제 해결 과정을 보기 위해 모든 것의 기초이자, 생각하는 실력을 다지기 위해 똑같은 결과물이라도 더 빠르고 효율적으로 해결하기 위해 2. 코딩테스트를 준비하는 과정 문제를 읽고 스스로 풀어보는 시간을 갖는다. 문제를 모두 풀었다면 과정을 되짚으면서 모범답안을 읽어본다. (문제를 어떻게 이해하고 접근했는지 살펴보고, 본인의 풀이와 어떤 점이 다른지와 어떤 점이 부족했는지 생각할 것) 설명이 이해되지 않는 부분은 체크하고 다시 풀이해본다. 💡 시간 복잡도란 ? 프로그램이 작동하는데 걸리는 시간을 평가하는 척도이자, 특징 크기의 입력에서 수행되는 연산의 횟수 💡 공간 복잡도란 ? 프로그램이 작동하는데 사용되는 메모리의 양을 평가하는 척도 3. 코드를 작성할 때 흔히 하는 실수 존.. 2023. 12. 28. 자료구조 및 알고리즘의 중요성과 코딩테스트 준비 본 게시물은 이번 카카오브레인, 네이버 부스트캠프, 소프티어 등과 같은 프로그램에서 코딩테스트를 경험하고 난 뒤에 코딩테스트의 중요성과 공부 방법 개선의 필요성을 느끼고 Programmers 의 2가지 글을 참고하여 정리한 내용입니다. 자료구조와 알고리즘란 ? ⚒️ 자료구조 : 메모리를 효율적으로 사용하며, 빠르고 안정적으로 데이터를 처리하는 것이 궁극적인 목표로 상황에 따라 유용하게 사용될 수 있도록 특정 구조를 이루고 있다. ⛓️ 알고리즘 : 특정 문제를 효율적이고 빠르게 해결하는 것이 궁극적인 목표로 정해진 일련의 절차나 방법을 공식화한 형태로 표현한 것을 말한다. 즉 수학적으로 표현할 수 있다. 요리의 과정을 프로그래밍에 대입해 보면 재료는 데이터, 도구는 자료구조, 레시피는 알고리즘이라고 볼 수.. 2023. 7. 16. 이전 1 다음