본문 바로가기

파이썬

(320)
[Python] 2531번 회전 초밥 https://www.acmicpc.net/problem/2531 2531번: 회전 초밥 첫 번째 줄에는 회전 초밥 벨트에 놓인 접시의 수 N, 초밥의 가짓수 d, 연속해서 먹는 접시의 수 k, 쿠폰 번호 c가 각각 하나의 빈 칸을 사이에 두고 주어진다. 단, 2 ≤ N ≤ 30,000, 2 ≤ d ≤ 3,000, 2 ≤ www.acmicpc.net 22/09/26 숫자 제한이 작아서 투 포인터를 사용하지 않고도 그냥 브루트 포스로도 풀리는 문제이다. 단지 이 문제에서 난해한 점은 문제를 읽고 해석하는 점이다. 문제 접근 방식: 문제의 목적은 연속된 k개의 초밥을 먹을 때, 먹을 수 있는 초밥의 최대 종류가 몇 가지인지 구하는 것이다. 여기서 추가로 주어지는 정보는 초밥 쿠폰의 존재이다. 초밥 쿠폰은 내..
[Python] 21144번 Missing Number https://www.acmicpc.net/problem/21144 21144번: Missing Number You are teaching kindergarten! You wrote down the numbers from $1$ to $n$, in order, on a whiteboard. When you weren’t paying attention, one of your students erased one of the numbers. Can you tell which number your mischievous student erased? www.acmicpc.net 22/09/25 어렵게 생각하면 어려운 문제이고, 쉽게 생각하면 쉽게 풀 수 있는 좋은 문제인 것 같다. 문제 접근 방식: 나는 이 문제를..
[Python] 21919번 소수 최소 공배수 https://www.acmicpc.net/problem/21919 21919번: 소수 최소 공배수 수열 중에 소수는 2, 3, 5가 있다. www.acmicpc.net 22/09/25 간단한 에라토스테네스의 체 알고리즘을 적용하는 문제로, 그다지 어려운 문제는 아니다. 만약 에라토스테네스의 체 알고리즘을 잘 모르는 상태라면, 먼저 배우기를 권장한다. 문제 접근 방식: 수열들 중에서 소수들을 먼저 골라야 되고, 주어지는 숫자의 크기가 백만 이하이므로, 백만 개의 배열을 불러와 에라토스테네스의 체 알고리즘을 진행하여 소수들을 골라낸다. 이후 이 소수들의 최소공배수를 구하는 것이 우리의 목적이다. 근데 우리는 소수들끼리는 모두 최대공약수가 1이라는 사실을 알고 있다. 때문에 최소 공배수를 구하려면 그냥 그 ..
[Python] 9918번 Cube / 2642번 전개도 https://www.acmicpc.net/problem/9918 9918번: Cube Folding six squares connected in some special ways can form a cube. For example, in the diagram below, the six squares on the left can be folded into a cube (with face 1 opposite face 4, face 2 opposite face 6, and face 3 opposite face 5) but the six squ www.acmicpc.net https://www.acmicpc.net/problem/2642 2642번: 전개도 입력은 여섯 줄로 되어 있으며 각 줄에는 0에서 6까지..
[Python] 14382번 숫자세는 양 (Large) https://www.acmicpc.net/problem/14382 14382번: 숫자세는 양 (Large) 예제 입출력 1번에 대해서, 2 × 0 = 0, 3 × 0 = 0 등등으로 이어지므로, 블리트릭스는 0외에는 다른 숫자를 기록할 수 없을 것이며, 따라서 영원히 잠에 들 수 없다. 예제 입출력 2번의 경우, 1, 2, 3, 4, www.acmicpc.net 22/09/25 단순한 시뮬레이션 문제로, 엄밀한 증명은 하지 않았으나 누구나 쉽게 떠올릴 법한 풀이로 해결한 문제이다. 문제 접근 방식: 먼저 문제에서 주어진 것처럼 계속 숫자를 키워나가며 수를 기록해갔다. 근데, INSOMNIA를 어떻게 판단하느냐가 관건이였다. 영원히 잠에 들지 못하면 INSOMNIA를 출력한다고 했는데, 반복문으로는 영원..
[Python] 23629번 이 얼마나 끔찍하고 무시무시한 수식이니 https://www.acmicpc.net/problem/23629
[Python] 4349번 Blocks https://www.acmicpc.net/problem/4349 4349번: Blocks Donald wishes to send a gift to his new nephew, Fooey. Donald is a bit of a traditionalist, so he has chosen to send a set of N classic baby blocks. Each block is a cube, 1 inch by 1 inch by 1 inch. Donald wants to stack the blocks together into a rectangu www.acmicpc.net 22/09/24 브론즈 문제 치고는 살짝 당황하게 만드는 난이도를 가진 문제로, 애를 살짝 먹었다. 개인적으로는 브론즈 2가 아니라 ..
[Python] 1455번 뒤집기 II https://www.acmicpc.net/problem/1455 1455번: 뒤집기 II 세준이는 동전 뒤집기를 하려고 한다. 세준이는 동전을 N×M개 가지고 있다. 동전은 세로로 N개, 가로로 M개 크기의 직사각형에 차곡차곡 놓여져 있다. 동전의 앞면을 0이라고 하고 뒷면을 1이라고 www.acmicpc.net 22/09/23 전형적인 그리디 문제로, 문제 상황을 잘 시뮬레이션하면 되는 문제이다. 문제 접근 방식: 먼저, 문제 상황을 보자. 문제는 모든 동전을 뒤집어서 앞면으로 만들고자 하는 것이 목표이고, 그때의 뒤집는 횟수를 최소화하고 싶은 것이 최종적인 목표이다. 한 동전을 선택하면, 맨 위의 좌측 동전부터 선택한 동전까지, 그 직사각형에 해당하는 영역만큼의 동전이 모두 뒤집힌다는 사실을 보고,..