본문 바로가기
  • 초부득3 - 어제보다 나은 내일을 위해
  • 꿈이 현실이 되는 날까지

전체 글195

[큐] 백준 2164번 카드2 with Python3 https://www.acmicpc.net/problem/2164 2164번: 카드2 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 www.acmicpc.net 문제 내 풀이 from collections import deque n = int(input()) Q = deque(range(1, n+1)) if len(Q) == 1: print(Q[0]) else: for i in range(len(Q)): Q.popleft() Q.append(Q.popleft()) if len(Q) == 1: break print(Q[0]) 해설 찬양하라 deque 단순히.. 2021. 8. 13.
[큐] 백준18258번 큐 2 with Python3 https://www.acmicpc.net/problem/18258 18258번: 큐 2 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 2,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 문제 내 풀이 import sys n = int(sys.stdin.readline()) Q = [] for i in range(n): cmd = [] cmd = list(sys.stdin.readline().split()) if len(cmd) > 1: order = cmd[0] num = cmd[1] else: order = cmd[0] if order == 'push'.. 2021. 8. 13.
[스택] 백준 17608번 막대기 with Python3 https://www.acmicpc.net/problem/17608 17608번: 막대기 아래 그림처럼 높이만 다르고 (같은 높이의 막대기가 있을 수 있음) 모양이 같은 막대기를 일렬로 세운 후, 왼쪽부터 차례로 번호를 붙인다. 각 막대기의 높이는 그림에서 보인 것처럼 순서대로 www.acmicpc.net 문제 내 풀이 import sys n = int(sys.stdin.readline()) stack = [] #막대기들을 순서대로 담을 스택/리스트 for _ in range(n): stack.append(int(sys.stdin.readline())) rightstart = int(stack[-1]) #제일 앞에 바라보이는 막대기의 높이 top = int(max(stack)) #가장 긴 막대기. 이 뒤.. 2021. 8. 13.
[스택] 백준 10773번 제로 with Python3 https://www.acmicpc.net/problem/10773 10773번: 제로 첫 번째 줄에 정수 K가 주어진다. (1 ≤ K ≤ 100,000) 이후 K개의 줄에 정수가 1개씩 주어진다. 정수는 0에서 1,000,000 사이의 값을 가지며, 정수가 "0" 일 경우에는 가장 최근에 쓴 수를 지우고, 아닐 경 www.acmicpc.net 문제 내 풀이 import sys input = sys.stdin.readline n = int(input()) stack = [] for _ in range(n): call = int(input()) if call != 0: stack.append(call) else: stack.pop() print(sum(stack)) 해설 기본적인 파이썬 리스트 기능으로 s.. 2021. 8. 13.
[스택] 백준 10828번 스택 with Python3 https://www.acmicpc.net/problem/10828 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 문제 내 풀이 import sys n = int(sys.stdin.readline()) stack = [] for i in range(n): cmd = [] cmd = list(sys.stdin.readline().split()) if len(cmd) > 1: order = cmd[0] num = cmd[1] else: order = cmd[0] if order == 'push'.. 2021. 8. 13.
[완전탐색] 백준 2503번 숫자야구 with Python3 https://www.acmicpc.net/problem/2503 2503번: 숫자 야구 첫째 줄에는 민혁이가 영수에게 몇 번이나 질문을 했는지를 나타내는 1 이상 100 이하의 자연수 N이 주어진다. 이어지는 N개의 줄에는 각 줄마다 민혁이가 질문한 세 자리 수와 영수가 답한 스트 www.acmicpc.net 문제 내 풀이 import sys 해설 정답 풀이 import sys def game(x,s,b): for i in range(123,1000): if not arr[i]: continue ss=0 bb=0 temp=str(i) for j in range(3): for k in range(3): if x[j]==temp[k]: if j==k: ss+=1 else: bb+=1 if not(ss==s.. 2021. 8. 13.
[DP] 백준 9095번 1,2,3 더하기 with python3 https://www.acmicpc.net/problem/9095 9095번: 1, 2, 3 더하기 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다. www.acmicpc.net 문제 내 풀이 import itertools n = int(input()) a = [] for _ in range(n): num = int(input()) if num == 1: a.append(str(1)) elif num == 2: a.append(str(2)) elif num == 3: a.append(str(4)) elif num > 2: count = 0 for i in range(2, num+1): result = list(itertools.product(([1, 2, 3]), rep.. 2021. 8. 13.
[기초] 백준 1110번 더하기 사이클 with python3 https://www.acmicpc.net/problem/1110 1110번: 더하기 사이클 0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음, www.acmicpc.net 문제 내 풀이 def dfs(num): global count sth = int(num) num = str(num) if sth == n and count > 0: return if len(num) == 2: first = int(num[0]) second = int(num[1]) third = str(first + second) if len(third) == 1: next = st.. 2021. 8. 13.
알고리즘 관련 사이트 문제 정리, 모음 알고리즘 유형별로 풀어볼만한 문제가 잘 정리 되어 있음. 백준 기준. https://blog.naver.com/kks227/220769870195 완전 탐색(Brute-force Search) 모든 문제를 푸는 데 있어서 가장 쉽고 간단한 방법부터 짚고 넘어가 봅시다. 완전탐색, 브루트포스(Brute... blog.naver.com 백준의 jinhan이라는 사람이 만든 그룹. 문제집, 연습등으로 필요한 범위의 문제들을 쉽게 찾을 수 있다. https://www.acmicpc.net/group/workbook/list/9061 로그인 www.acmicpc.net 문제 풀이 사이트 백준. 엄청난 문제 풀. 다만 풀이를 직접 작성하고 제출해야한다는 단점이 있음. https://www.acmi.. 2021. 8. 11.