백준 Silver IV | 2164 | Python | 문제 링크문제 설명N장의 카드가 1부터 N까지 순서대로 쌓여 있다. 맨 위 카드를 버리고, 그 다음 맨 위 카드를 맨 아래로 옮기는 동작을 카드가 1장 남을 때까지 반복한다. 마지막에 남은 카드 번호를 출력하면 된다.입력첫째 줄에 N (1 ≤ N ≤ 500,000)이 주어진다.출력마지막에 남은 카드의 번호를 출력한다.입출력 예입력출력64 나의 풀이풀이 1 - 무한루프가 걸린 첫 제출from collections import dequeimport sysinput = sys.stdin.readlineq = deque()num = int(input())for i in range(1, num+1): q.append(i)while q: if len..
백준 Silver IV | 10845 | Python | 문제 링크문제 설명정수를 저장하는 큐를 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성하시오.명령은 총 여섯 가지이다.push X: 정수 X를 큐에 넣는 연산이다.pop: 큐에서 가장 앞에 있는 정수를 빼고, 그 수를 출력한다. 만약 큐에 들어있는 수가 없는 경우에는 -1을 출력한다.size: 큐에 들어있는 정수의 개수를 출력한다.empty: 큐가 비어있으면 1, 아니면 0을 출력한다.front: 큐의 가장 앞에 있는 정수를 출력한다. 만약 큐에 들어있는 수가 없는 경우에는 -1을 출력한다.back: 큐의 가장 뒤에 있는 정수를 출력한다. 만약 큐에 들어있는 수가 없는 경우에는 -1을 출력한다.입력첫째 줄에 주어지는 명령의 수 N ..
백준 Silver IV | 10828 | Python | 문제 링크문제 설명정수를 저장하는 스택을 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성하시오.명령은 총 다섯 가지이다.push X: 정수 X를 스택에 넣는 연산이다.pop: 스택에서 가장 위에 있는 정수를 빼고, 그 수를 출력한다. 만약 스택에 들어있는 수가 없는 경우에는 -1을 출력한다.size: 스택에 들어있는 정수의 개수를 출력한다.empty: 스택이 비어있으면 1, 아니면 0을 출력한다.top: 스택의 가장 위에 있는 정수를 출력한다. 만약 스택에 들어있는 수가 없는 경우에는 -1을 출력한다.입력첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. ..
백준 Silver IV | 10773 | Python | 문제 링크문제 설명나코더 기장 재민이는 동생 재훈이에게 수학을 가르치고 있다. 재민이가 수를 쓰다가 실수를 하면 지우개로 지운다. 재민이가 실수를 한 경우에는 0을 쓴다. 0이 쓰여지면 가장 최근에 쓴 수를 지운다. 재민이가 쓴 모든 수의 합을 구하라.입력첫째 줄에 K가 주어진다. (1 ≤ K ≤ 100,000) 이후 K개의 줄에 정수가 하나씩 주어진다. 정수는 0에서 1,000,000 사이의 값이며, 정수가 0인 경우에는 가장 최근에 쓴 수를 지운다. 0을 제외한 나머지 수는 최소 하나 이상 존재한다.출력재민이가 최종적으로 적어 놓은 수의 합을 출력한다.입출력 예입력출력430400 나의 풀이풀이 1 - 틀린 코드와 반례 추적import sysin..
백준 Silver IV | 9012 | Python | 문제 링크문제 설명괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 '(' 와 ')' 만으로 구성되어 있는 문자열이다. 그 중에서 올바른 괄호 문자열(Valid PS, VPS)은 다음과 같이 정의한다. 한 쌍의 괄호로만 이루어진 "()"가 VPS이고, 만일 x가 VPS라면 "(x)"도 VPS가 된다. 그리고 x와 y가 VPS라면 xy도 VPS가 된다. 입력으로 주어진 괄호 문자열이 VPS인지 판별하시오.입력입력 데이터의 수를 나타내는 정수 T가 첫 줄에 주어진다. 각 테스트 데이터의 첫째 줄에는 괄호 문자열이 주어진다. 하나의 괄호 문자열의 길이는 2 이상 50 이하이다.출력각 줄마다 해당 입력 괄호 문자열이 VPS 이면..
백준 Silver IV | 4949 | Python | 문제 링크문제 설명세계는 균형이 잡혀있어야 한다. 양과 음, 빛과 어둠 그리고 모든 다른 것들도 균형이 잡혀있어야 한다. 문자열에 포함되는 괄호는 소괄호("()")와 대괄호("[]")로 이루어져 있으며, 이 문자열이 균형을 이루는지를 판별하시오.입력각 문자열은 마지막 줄을 제외하고는 '.' 을 제외한 아스키 문자로 이루어져 있으며, 문자열의 길이는 100 이하이다. 입력의 종료조건으로 "."만으로 이루어진 줄이 주어진다.출력각 줄마다 해당 문자열이 균형잡힌 문자열이면 "yes"를, 아니면 "no"를 출력한다.입출력 예입력출력()[]([)].yesyesno 나의 풀이풀이 1 - 세 가지 버그 수정 과정import sysresult = []for lin..