본문 바로가기

2024/109

[백준 2212번] 센서 https://www.acmicpc.net/problem/2212import sysimport heapqinput = sys.stdin.readline# 고속도로 위에 N개의 센서를 설치# 고속도로 위에 최대 K개의 집중국을 세울 수 있다# 각 집중국은 센서의 수신 가능 영역을 조절할 수 있다# 집중국의 수신 가능 영역은 고속도로 상에서 연결된 구간으로 나타나게 된다# N개의 센서는 적어도 하나의 집중국과는 통신이 가능해야함# 각 집중국의 '수신 가능 영역의 길이의 합'을 최소화# 고속도로는 평면상의 직선이라고 가정# 센서들은 이 직선 위의 한 기점인 원점으로부터의 정수 거리의 위치에 놓여 있다# 따라서, 각 센서의 좌표는 정수 하나로 표현# 단, 집중국의 수신 가능영역의 길이는 0 이상이며 모든 센서의.. 2024. 10. 5.
[백준 18428번] 감시 피하기 https://www.acmicpc.net/problem/18428import sysimport copyinput = sys.stdin.readline# NxN 크기의 공간에 선생님(T), 학생(S), 혹은 장애물(O)이 위치# 복도로 빠져나온 학생들은 선생님의 감시에 들키지 않는 것이 목표# 각 선생님들은 자신의 위치에서 상, 하, 좌, 우 4가지 방향으로 감시를 진행# 선생님은 상, 하, 좌, 우 4가지 방향에 대하여, 아무리 멀리 있더라도 장애물로 막히기 전까지의 학생들은 모두 볼 수 있다# 단, 복도에 장애물이 위치한 경우, 선생님은 장애물 뒤편에 숨어 있는 학생들은 볼 수 없다# 학생들은 복도의 빈 칸 중에서 장애물을 설치할 위치를 골라, 정확히 3개의 장애물을 설치# 결과적으로 3개의 장애물을.. 2024. 10. 5.
[백준 21611번] 마법사 상어와 블리자드 https://www.acmicpc.net/problem/21611import sysfrom collections import dequeinput = sys.stdin.readline# 가장 처음에 상어가 있는 칸을 제외한 나머지 칸에는 구슬이 하나 들어갈 수 있다# 구슬은 1번 구슬, 2번 구슬, 3번 구슬이 있다# 같은 번호를 가진 구슬이 번호가 연속하는 칸에 있으면, 그 구슬을 연속하는 구슬이라고 한다.# 블리자드 마법을 시전하려면 방향 di와 거리 si를 정해야 한다. # 총 4가지 방향 ↑, ↓, ←, → (1, 2, 3, 4)# 마법사 상어는 블리자드를 총 M번 시전# 시전한 마법의 정보가 주어졌을 때# 출력 : 폭발한 1번 구슬의 개수, 폭발한 2번 구슬의 개수, 폭발한 3번 구슬의 개수N,.. 2024. 10. 5.
[삼성 SW 역량테스트 기출] 고대 문명 유적 탐사 https://www.codetree.ai/training-field/frequent-problems/problems/ancient-ruin-exploration?&utm_source=clipboard&utm_medium=text 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요.www.codetree.aiimport sysimport copyfrom collections import dequeinput = sys.stdin.readline# 유물 조각은 총 7가지 종류로, 각각 숫자 1부터 7로 표현# 1. 탐사 진행# 3x3 격자 선택 후 시계 방향으로 90도, 180도, 270도.. 2024. 10. 4.
[백준 1417번] 국회의원 선거 https://www.acmicpc.net/problem/1417import sysimport heapqinput = sys.stdin.readline# 국회의원 선거를 조작# 다솜이의 기계는 각 사람들이 누구를 찍을 지 미리 읽을 수 있다. # 어떤 사람이 누구를 찍을 지 정했으면, 반드시 선거때 그 사람을 찍는다.# 형택구에 나온 국회의원 후보는 N명# 다솜이는 이 기계를 이용해서 그 마을의 주민 M명의 마음을 모두 읽었다.# 다솜이는 기호 1번# 자신을 찍지 않으려는 사람을 돈으로 매수해서 국회의원에 당선이 되게 하려고 한다.# 다른 모든 사람의 득표수 보다 많은 득표수를 가질 때, 그 사람이 국회의원에 당선# 출력 : 다솜이가 매수해야하는 사람의 최솟값N = int(input())my_vote =.. 2024. 10. 3.
[백준 2638번] 치즈 https://www.acmicpc.net/problem/2638import sysfrom collections import dequeinput = sys.stdin.readlinedx, dy = [-1,1,0,0], [0,0,-1,1]# 치즈는 실내온도에 내어놓으면 공기와 접촉하여 천천히 녹는다# 각 치즈 격자(작은 정사각형 모양)의 4변 중에서 적어도 2변 이상이 실내온도의 공기와 접촉한 것은 정확히 한시간만에 녹아 없어져 버린다N, M = map(int,input().split())# 치즈가 있는 부분은 1로 표시되고, 치즈가 없는 부분은 0으로 표시# 모눈종이의 맨 가장자리에는 치즈가 놓이지 않는 것으로 가정# 출력 : 입력으로 주어진 치즈가 모두 녹아 없어지는데 걸리는 정확한 시간area = [.. 2024. 10. 3.