![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bbTinG/btqGK23t4Yg/AJ2nvXDCSOV43tsIIrFKp0/img.png)
문제 1966번: 프린터 큐 문제 여러분도 알다시피 여러분의 프린터 기기는 여러분이 인쇄하고자 하는 문서를 인쇄 명령을 받은 ‘순서대로’, 즉 먼저 요청된 것을 먼저 인쇄한다. 여러 개의 문서가 쌓인다면 Queue 자료�� www.acmicpc.net 풀이 import sys from collections import deque TC = int(sys.stdin.readline()) for _ in range(TC): N, M = map(int, sys.stdin.readline().split()) queue = deque(map(int, sys.stdin.readline().split())) count = 0 m = max(queue) while queue: if len(queue) == 1: queu..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/Qp9BM/btqGGGHwDmi/CS0TXUuknd7VnN2wBk1du1/img.png)
문제 11866번: 요세푸스 문제 0 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 1,000) www.acmicpc.net 풀이 문제에서 n번째 자리 사람이라고 해서 [1,2,3,4] 에서 2번째 자리 사람(3)이 없어지면 [1,2,4]가 되는데 다시 2번째 자리인 4가 답이 되는거 아닌가? 생각했는데 자리가 중요한게 아니라 시작부터 n간격으로 있는 다음 사람을 생각해서 풀면 된다. 예를 들면 [1,2,3,4,5,6,7,8,9] 에서 3, 6, 9 이런식! import sys from collections import deque queue = deque() N, K = map(int, sys.stdin.readline().split()) for i in range..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cUea0Y/btqGC61fQ61/mi3MpPV8MD522rBWCelZo0/img.png)
문제 2164번: 카드2 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 www.acmicpc.net 풀이 from collections import deque queue = deque() n = int(input()) for i in range(1, n+1): queue.append(i) while queue: if len(queue) == 1: print(queue.popleft()) else: queue.popleft() queue.append(queue.popleft())
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/pqfBP/btqGAf4xBbl/1V5ehajyALT32fKnKhjm81/img.png)
문제 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 풀이 스택과 인덱스를 이용해서 풀었다. N = int(input()) # 총 갯수 li = [] # 인풋값을 순서대로 담을 배열 stack = [] # 스택으로 활용할 배열 ans = [] # push/pop을 기록할 배열 # N개의 인풋을 li에 저장하기 for _ in range(N): li.append(int(input())) # 인덱스로 현재 숫자 관리 index = ..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/rx07E/btqGC7js4Vg/WuMN4kEn8Ph5NM9p1kMpoK/img.png)
문제 4949번: 균형잡힌 세상 문제 세계는 균형이 잘 잡혀있어야 한다. 양과 음, 빛과 어둠 그리고 왼쪽 괄호와 오른쪽 괄호처럼 말이다. 정민이의 임무는 어떤 문자열이 주어졌을 때, 괄호들의 균형이 잘 맞춰져 있는지 판단 www.acmicpc.net 풀이 괄호 문제라 스택을 이용해서 풀었다. stack = [] while True: stack.clear() flag = 0 line = input() if line == ".": break for each in line: if flag == 1: break if each == "(" or each == "[": stack.append(each) elif each == ")": if len(stack) > 0 and stack[-1] == "(": stac..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/dZYPwx/btqGCdRWsgK/EMBtUPlakUqFKnyM6DyKK1/img.png)
문제 9012번: 괄호 문제 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)�� www.acmicpc.net 풀이 괄호문제는 스택을 사용하면 간단하게 풀 수 있다. N = int(input()) stack = [] for _ in range(N): stack.clear() flag = 0 line = input() for each in line: if each == "(": stack.append(each) else: try: stack.pop() except: flag = 1 break if len(stack) == 0 and ..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/dgfzcj/btqGCK2XuHu/F2ve1MHGSbED0fRX7fsi21/img.png)
문제 10773번: 제로 문제 나코더 기장 재민이는 동아리 회식을 준비하기 위해서 장부를 관리하는 중이다. 재현이는 재민이를 도와서 돈을 관리하는 중인데, 애석하게도 항상 정신없는 재현이는 돈을 실수로 잘못 �� www.acmicpc.net 풀이 import sys N = int(sys.stdin.readline()) stack = [] for _ in range(N): next = int(sys.stdin.readline()) if next == 0: stack.pop() else: stack.append(next) print(sum(stack))
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bxYvXn/btqGCprb34x/jhqXFKW3ItvVfZBNFR9QUK/img.png)
문제 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 � www.acmicpc.net 풀이 기본적인 스택문제 파이썬에서 스택은 별도의 라이브러리를 사용하지 않고 리스트의 append()와 pop()을 통해 구현한다. import sys stack = [] N = int(input()) for _ in range(N): input = sys.stdin.readline().strip() if input == "pop": if len(stack) == 0: print(-1) else: print(stack.pop()) elif..
- Total
- Today
- Yesterday
- 시뮬레이터 키보드
- flutter simultor
- 소수 구하기 파이썬
- 카카오톡으로 로그인 오류
- 프로그래머스
- 코틀린 데이터바인딩
- 백준
- 코틀린
- 백준 1644
- Kotlin
- 코틀린 뷰페이저
- 백준 2003
- 전화번호목록 파이썬
- 백준 1806
- 투포인터 알고리즘 파이썬
- 투포인터 알고리즘
- 안드로이드 카카오톡으로 로그인
- 카카오 기출
- 코틀린 바텀네비게이션
- TextFormField keyboard
- 카카오 키해시
- 코틀린 리스트뷰
- 안드로이드
- 코틀린 뷰바인딩
- counting sort
- kotlin fragment
- 안드로이드 키해시
- 데이터바인딩 뷰바인딩 차이
- 파이썬 최대공약수
- 백준알고리즘
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |