목록전체 글 (52)
Rego의 블로그
https://www.acmicpc.net/problem/1874 1874번: 스택 수열 1부터 n까지에 수에 대해 차례로 [push, push, push, push, pop, pop, push, push, pop, push, push, pop, pop, pop, pop, pop] 연산을 수행하면 수열 [4, 3, 6, 8, 7, 5, 2, 1]을 얻을 수 있다. www.acmicpc.net 문제를 처음에 맞닥뜨리고 무슨 말을 하는건지 이해하는 데까지 시간이 꽤 걸렸다. 결국 손으로 써보고 나서야 감을 잡았는데, 이해한 내용을 대략적으로 설명해보겠다. 주어진 수열이 가진 원소들을 오름차순을 지켜서 스택에 push해야 한다. 이후 pop을 이용해 주어진 수열 [4, 3, 6, 8, 7, 5, 2, 1]을 ..
https://www.acmicpc.net/problem/9655 9655번: 돌 게임 상근이가 게임을 이기면 SK를, 창영이가 게임을 이기면 CY을 출력한다. www.acmicpc.net 상근이와 창영이가 번갈아가며 돌을 빼는데 각자 자기 순서에 1 or 3개씩 뺄 수 있으며 게임은 상근이가 항상 먼저 시작하며, 돌의 수를 0개로 만드는 사람이 승리한다. 이를 식으로 표현해 본다면 상근이는 n - 1, n - 3.. 창영이는 그 다음 순서이니 n - 2, n - 4...로 정의할 수 있겠다. 거기에 문제에서 주어졌듯 상근이가 먼저 시작하기 때문에 상근이는 항상 홀수를 0으로 만들고, 창영이는 짝수를 0으로 만든다. 이에 아래의 코드로 문제를 해결하였다. n = int(input()) if n % 2 =..