일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- javascript
- 다이나믹 프로그래밍
- 그리디
- 백준 2512번
- 모각코
- MySQL
- Python
- java_programming
- 백준 16918번
- 자바
- react
- HUFS 모각코 캠프
- 백준 3085번
- 백준 18310번
- 백준 1987
- 백준 17451번
- AWS
- 다이나믹프로그래밍
- 백준
- SWEA 15612번
- SQL
- 머신러닝과 딥러닝
- 백준 1253번
- 백준 1331번
- 그래프
- 깃헙
- ubuntu
- 백준 15787번
- 명품자바
- 알고리즘
- Today
- Total
목록백준 (52)
차곡차곡
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cXCgrJ/btrCDdnvlaj/nbqGHWXhrAkkQJ0rOs3Y9K/img.png)
백준 #17827 달팽이 리스트 17827번: 달팽이 리스트 첫째 줄에 노드의 개수 N(2 ≤ N ≤ 200,000), 질문의 횟수 M(1 ≤ M ≤ 200,000), N번 노드가 가리키는 노드의 번호 V(2 ≤ V ≤ N)가 공백으로 구분되어 주어진다. 둘째 줄에 N개의 정수 C1, C2, …, CN이 공백 www.acmicpc.net import sys input = sys.stdin.readline n, m, v = map(int, input().split()) # n: 노드 개수, m: 질문 횟수, v: 노드 n이 가리키는 노 번호 l = list(map(int, input().split())) # 노드 정수 for _ in range(m): k = int(input()) # 이동하려는 노드 칸 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/9EQGL/btrCp7vCnCx/LAx7IeY8j54R5bD7sok3ok/img.png)
백준 #11866 요세푸스 문제0 11866번: 요세푸스 문제 0 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 1,000) www.acmicpc.net import sys input = sys.stdin.readline n, k = map(int, input().split()) # n: 인원 수, k: K번째 사람 제거 people = list(range(n)) num = k - 1 # 제거할 사람 인덱스 pmt = [] # 제거된 사람들 while True: pmt.append(str(people.pop(num) + 1)) if len(people) == 0: break n -= 1 num += k - 1 if num >= n: while num >= n: nu..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/Fu94H/btrCld2BMix/kt3DFzUYtGu1kJBxadS77K/img.png)
백준 #1021 회전하는 큐 1021번: 회전하는 큐 첫째 줄에 큐의 크기 N과 뽑아내려고 하는 수의 개수 M이 주어진다. N은 50보다 작거나 같은 자연수이고, M은 N보다 작거나 같은 자연수이다. 둘째 줄에는 지민이가 뽑아내려고 하는 수의 위치가 www.acmicpc.net from collections import deque import sys input = sys.stdin.readline n, m = map(int, input().split()) # n: 큐의 크기, m: 뽑아내려는 원소 개수 spot = deque(list(map(int, input().split()))) # 뽑아내려는 원소 위치 inx = deque(list(range(n))) # 기존 인덱스 cnt = 0 for i in ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/UIF9g/btrCask2Ayu/YSsPmc3LR6doQCimN1kj60/img.png)
백준 #2003 수들의 합 2 2003번: 수들의 합 2 첫째 줄에 N(1 ≤ N ≤ 10,000), M(1 ≤ M ≤ 300,000,000)이 주어진다. 다음 줄에는 A[1], A[2], …, A[N]이 공백으로 분리되어 주어진다. 각각의 A[x]는 30,000을 넘지 않는 자연수이다. www.acmicpc.net import sys input = sys.stdin.readline n, m = map(int, input().split()) # n: 수열 수, m: 합이 나와야 하는 값 seq = list(map(int, input().split())) i, j = 0, 0 # 포인터 cnt = 0 # 경우의 수 while i
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cec7h6/btrBYp4Fkzi/Bny7R93KuAy3XKbmU9tkQk/img.png)
백준 #1748 수 이어 쓰기 1 1748번: 수 이어 쓰기 1 첫째 줄에 N(1 ≤ N ≤ 100,000,000)이 주어진다. www.acmicpc.net import sys input = sys.stdin.readline num = input().strip() cnt = 0 # 자릿수 for i in range(len(num), 0, -1): if len(num) == 1: # 한 자릿수일 경우 cnt = int(num) else: if i == len(num): cnt = i * (int(num) - (10 ** (len(num) - 1)) + 1) else: cnt += i * (9 * (10 ** (i - 1))) print(cnt) 입력 숫자가 한 자리 수일 경우 새로운 수의 자릿수는 그 값과..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/Ufbpu/btrBUGYs7Tq/cVkJoGkj3D16HAcsGfjBp1/img.png)
백준 #2531 회전 초밥 2531번: 회전 초밥 첫 번째 줄에는 회전 초밥 벨트에 놓인 접시의 수 N, 초밥의 가짓수 d, 연속해서 먹는 접시의 수 k, 쿠폰 번호 c가 각각 하나의 빈 칸을 사이에 두고 주어진다. 단, 2 ≤ N ≤ 30,000, 2 ≤ d ≤ 3,000, 2 ≤ www.acmicpc.net from collections import deque import sys input = sys.stdin.readline n, d, k, c = map(int, input().split()) # n: 접시 수, d: 초밥 가짓수, k: 연속해서 먹는 접시 수, c: 쿠폰 번호 sushi = [int(input()) for _ in range(n)] # 초밥 종류 max_kinds = 0 # 초밥 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/c1Kosm/btrBUVgHfGr/Hj4h7IkcEQvcY4MXMTewwk/img.png)
백준 #11501 주식 11501번: 주식 입력의 첫 줄에는 테스트케이스 수를 나타내는 자연수 T가 주어진다. 각 테스트케이스 별로 첫 줄에는 날의 수를 나타내는 자연수 N(2 ≤ N ≤ 1,000,000)이 주어지고, 둘째 줄에는 날 별 주가를 나타 www.acmicpc.net import sys input = sys.stdin.readline def get_profit(n, price): profit = 0 # 최대 이익 max_price = price[-1] for i in range(n-2, -1, -1): if max_price < price[i]: max_price = price[i] else: profit += max_price - price[i] print(profit) t = int(in..
11726번: 2×n 타일링 (acmicpc.net) 11726번: 2×n 타일링 2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×5 크기의 직사각형을 채운 한 가지 방법의 예이다. www.acmicpc.net n = int(input()) C = [0 for i in range(n+1)] # 방법의 수 for i in range(1, n+1): if i == 1: C[i] = 1 elif i == 2: C[i] = 2 else: C[i] = C[i-1] + C[i-2] print(C[n]%10007) 타일을 넣는 방법은 2x1 타일을 넣는 방법, 1x2 타일을 넣는 방법으로 크게 두 가지로 나눌 수 있다. 2x1 타일부터 2xn 타일까지..