[백준 19583번] 파이썬 - 싸이버 개강총회
백준 19583 - 싸이버 개강총회 시간 제한 1초(추가 시간 없음), 메모리 제한 1024MB # 조건 보영이는 알고리즘 동아리 HI-ARC를 운영하고 있다. 보영이와 운영진 일동은 20년도에 입학하는 신입생들을 맞이하기 위해 열심히 준비를 해왔으나, 전염병의 유행이 악화된 나머지 정부에서는 “사회적 거리두기”를 선언했고 그에 따라 학교에서는 교내 모든 동아리에 오프라인 모임을 자제하라는 공지를 하기에 이르렀다. 오프라인에서 모임을 자제하라는 권고가 나온 어려운 상황에도 불구하고, 보영이는 기지를 발휘하여 개강총회를 미튜브 스트리밍으로 대체하는 결정을 하게 된다. 하지만, 미튜브 스트리밍으로 개강총회를 하게 될 경우, 아래와 같은 문제가 있었다. 누가 개강총회에 왔는지 알 수 없다. 누가 개강총회 자리..
2023.08.26
no image
[백준 17471번] 파이썬 - 게리맨더링
백준 17471 - 게리맨더링 시간 제한 0.5초(추가 시간 없음), 메모리 제한 512MB # 조건 백준시의 시장 최백준은 지난 몇 년간 게리맨더링을 통해서 자신의 당에게 유리하게 선거구를 획정했다. 견제할 권력이 없어진 최백준은 권력을 매우 부당하게 행사했고, 심지어는 시의 이름도 백준시로 변경했다. 이번 선거에서는 최대한 공평하게 선거구를 획정하려고 한다. 백준시는 N개의 구역으로 나누어져 있고, 구역은 1번부터 N번까지 번호가 매겨져 있다. 구역을 두 개의 선거구로 나눠야 하고, 각 구역은 두 선거구 중 하나에 포함되어야 한다. 선거구는 구역을 적어도 하나 포함해야 하고, 한 선거구에 포함되어 있는 구역은 모두 연결되어 있어야 한다. 구역 A에서 인접한 구역을 통해서 구역 B로 갈 수 있을 때, ..
2023.08.26
[백준 1717번 ] 파이썬 - 집합의 표현
백준 1717 - 집합의 표현 시간 제한 2초, 메모리 제한 128MB # 조건 초기에 $n+1$개의 집합 ${0}, {1}, {2}, \dots , {n}$이 있다. 여기에 합집합 연산과, 두 원소가 같은 집합에 포함되어 있는지를 확인하는 연산을 수행하려고 한다. 집합을 표현하는 프로그램을 작성하시오. 입력 첫째 줄에 $n$, $m$이 주어진다. $m$은 입력으로 주어지는 연산의 개수이다. 다음 $m$개의 줄에는 각각의 연산이 주어진다. 합집합은 $0$ $a$ $b$의 형태로 입력이 주어진다. 이는 $a$가 포함되어 있는 집합과, $b$가 포함되어 있는 집합을 합친다는 의미이다. 두 원소가 같은 집합에 포함되어 있는지를 확인하는 연산은 $1$ $a$ $b$의 형태로 입력이 주어진다. 이는 $a$와 $b..
2023.08.26
[백준 17413번] 파이썬 - 단어 뒤집기 2
백준 17413 - 단어 뒤집기 2 시간 제한 1초, 메모리 제한 512MB # 조건 문자열 S가 주어졌을 떄, 이 문자열에서 단어만 뒤집으려고 한다. 먼저, 문자열 S는 아래와 같은 규칙을 지킨다. 알파벳 소문자(&#39;a&#39;-&#39;z&#39;), 숫자(&#39;0&#39;-&#39;9&#39;), 공백(&#39; &#39;), 특수 문자(&#39;&#39;)로만 이루어져 있다. 문자열의 시작과 끝은 공백이 아니다. &#39;&#39;가 문자열에 있는 경우 번갈아가면서 등장하며, &#39;&#39; idx += 1 result.append(temp) else: while idx < leng and target[idx] != &#39; &#39; and target[idx] != &#39;
2023.08.26
no image
[백준 15787번] 파이썬 - 기차가 어둠을 헤치고 은하수를
백준 15787 - 기차가 어둠을 헤치고 은하수를 시간 제한 1초, 메모리 제한 512MB # 조건 N개의 기차가 어둠을 헤치고 은하수를 건너려고 한다. 기차는 20개의 일렬로 된 좌석이 있고, 한 개의 좌석에는 한 명의 사람이 탈 수 있다. 기차의 번호를 1번부터 N번으로 매길 때, 어떠한 기차에 대하여 M개의 명령이 주어진다. 명령의 종류는 4가지로 다음과 같다. 1 i x : i번째 기차에(1 ≤ i ≤ N) x번째 좌석에(1 ≤ x ≤ 20) 사람을 태워라. 이미 사람이 타있다면 , 아무런 행동을 하지 않는다. 2 i x : i번째 기차에 x번째 좌석에 앉은 사람은 하차한다. 만약 아무도 그자리에 앉아있지 않았다면, 아무런 행동을 하지 않는다. 3 i : i번째 기차에 앉아있는 승객들이 모두 한칸..
2023.08.25
[백준 22943번] 파이썬 - 수
백준 22943 - 수 시간 제한 2초, 메모리 제한 1024MB # 조건 0부터 9까지 $K$가지의 숫자를 한 번씩만 사용하여 만들 수 있는 수 중 아래 조건을 모두 만족하는 수들의 개수를 구해보자. 단, 수의 맨 앞에는 0이 올 수 없다. 즉, 0143는 불가능하다. 서로 다른 두 개의 소수의 합으로 나타낼 수 있는 경우 $M$으로 나누어 떨어지지 않을때까지 나눈 수가 두 개의 소수의 곱인 경우, 이 때, 두 개의 소수가 같아도 된다. 예를 들어, $K$가 1이고 $M$이 11인 경우로 생각해보자. 한자리 수 중 1번 조건을 만족하는 수는 5, 7, 8, 9이고 2번 조건을 만족하는 수는 4, 6, 9가 있다. 이 두개의 조건을 둘다 만족하는 수는 9이므로 이 경우에는 1개이다. 입력 첫 번째 줄에 ..
2023.08.24
no image
[백준 17266번] 파이썬 - 어두운 굴다리
백준 17266 - 어두운 굴다리 시간 제한 1초, 메모리 제한 256MB # 조건 인하대학교 후문 뒤쪽에는 어두운 굴다리가 있다. 겁쟁이 상빈이는 길이 조금이라도 어둡다면 가지 않는다. 따라서 굴다리로 가면 최단거리로 집까지 갈수 있지만, 굴다리는 어둡기 때문에 빙빙 돌아서 집으로 간다. 안타깝게 여긴 인식이는 굴다리 모든 길 0~N을 밝히게 가로등을 설치해 달라고 인천광역시에 민원을 넣었다. 인천광역시에서 가로등을 설치할 개수 M과 각 가로등의 위치 x들의 결정을 끝냈다. 그리고 각 가로등은 높이만큼 주위를 비출 수 있다. 하지만 갑자기 예산이 부족해진 인천광역시는 가로등의 높이가 높을수록 가격이 비싸지기 때문에 최소한의 높이로 굴다리 모든 길 0~N을 밝히고자 한다. 최소한의 예산이 들 높이를 구하..
2023.08.23
no image
[백준 20181번] 파이썬 - 꿈틀꿈틀 호석 애벌 - 효율성
백준 20181 - 꿈틀꿈틀 호석 애벌레 - 효율성 시간 제한 1초, 메모리 제한 512MB # 조건 꿈틀꿈틀 호석 애벌레는 N 개의 먹이가 일렬로 나열된 나뭇가지를 오른쪽으로 기어가려고 한다. 시작하는 순간의 호석 애벌레가 0의 위치에 있고 i 번째 먹이는 오른쪽으로 i 초 기어가야 도달할 수 있다. 또한 매초 1 만큼 오른쪽으로 무조건 진행한다. 호석 애벌레는 i 번째 먹이가 맛있을수록 높은 만족도를 얻는다. 호석 애벌레는 절제라는 것을 모르는 욕심쟁이기 때문에 한번 먹이를 먹기 시작하면 연속적으로 계속 먹어야 하며, 누적된 만족도가 최소 만족도 K 이상이 되거나 더 이상 먹을 먹이가 없을 때에 연속적으로 먹는 것을 멈춘다. 만약 최소 만족도 이상이 되면 K 를 초과한 만족도만큼 탈피 에너지를 축적한..
2023.08.23
[백준 14226번] 파이썬 - 이모티콘
백준 14226 - 이모티콘 시간 제한 2초, 메모리 제한 512MB # 조건 영선이는 매우 기쁘기 때문에, 효빈이에게 스마일 이모티콘을 S개 보내려고 한다. 영선이는 이미 화면에 이모티콘 1개를 입력했다. 이제, 다음과 같은 3가지 연산만 사용해서 이모티콘을 S개 만들어 보려고 한다. 화면에 있는 이모티콘을 모두 복사해서 클립보드에 저장한다. 클립보드에 있는 모든 이모티콘을 화면에 붙여넣기 한다. 화면에 있는 이모티콘 중 하나를 삭제한다. 모든 연산은 1초가 걸린다. 또, 클립보드에 이모티콘을 복사하면 이전에 클립보드에 있던 내용은 덮어쓰기가 된다. 클립보드가 비어있는 상태에는 붙여넣기를 할 수 없으며, 일부만 클립보드에 복사할 수는 없다. 또한, 클립보드에 있는 이모티콘 중 일부를 삭제할 수 없다. ..
2023.08.22