bong-u/til

๐Ÿ  home ๐Ÿˆ repository
new ๋ฐฑ์ค€ - 2748 : ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜2 (B2)
๐Ÿง  Algorithm
“์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ถ„๋ฅ˜-DP"์—์„œ ์•ˆ ํ‘ผ ๋ฌธ์ œ์ด๊ธธ๋ž˜ ํ•œ ๋ฒˆ ํ’€์–ด๋ดค๋‹ค. 1N = int(input()) 2 3L = [0, 1] + [0]*89 4 5for i in range(2, N+1): 6 L[i] = L[i-1]+L[i-2] 7 8print (L[N])
new ๋ฐฑ์ค€ - 2573 : ๋น™์‚ฐ (G5)
๐Ÿง  Algorithm
1import copy 2from collections import deque 3 4N, M = map(int, input().split()) 5L = [list(map(int, input().split())) for _ in range(N)] 6L[0][0] = 0 7L[N-1][M-1] = 0 8vx = [0, 0, -1, 1] 9vy = [-1, 1, 0, 0] 10 11def melt(L): 12 L_ = copy.deepcopy(L) 13 for i in range(M): 14 for j in range(N): 15 if L[j][i] != 0: 16 for k in range(4): 17 nx = j + vx[k] 18 ny = i + vy[k] 19 20 if not 0 <= nx < N or not 0 <= ny < M: 21 continue 22 if L[nx][ny] == 0 and L_[j][i] !
new ๋ฐฑ์ค€ - 2565 : ์ „๊นƒ์ค„ (G5)
๐Ÿง  Algorithm
1N = int(input()) 2L = [list(map(int, input().split())) for _ in range(N)] 3L = [i[1] for i in sorted(L)] 4dp = [0]*N 5for i in range(N): 6 dp[i] = 1 7 for j in range(i): 8 if L[j] < L[i]: 9 dp[i] = max(dp[i], dp[j]+1) 10 11print (N-max(dp)) LIS๋ฅผ ์ด์šฉํ•˜๋Š” ๋ฌธ์ œ
new ๋ฐฑ์ค€ - 2294 : ๋™์ „ 2 (G5)
๐Ÿง  Algorithm
1N, K = map(int, input().split()) 2V = [] 3for _ in range(N): 4 V.append(int(input())) 5dp = [[0]+([10001]*K) for _ in range(N+1)] 6 7for i in range(1, N+1): 8 for j in range(1, K+1): 9 if j >= V[i-1]: 10 dp[i][j] = min(dp[i-1][j], dp[i][j-V[i-1]]+1) 11 else: 12 dp[i][j] = dp[i-1][j] 13 14res = dp[N][K] 15 16print (res if res != 10001 else -1) dp๋ฅผ ๋งŽ์ด ํ’€์–ด๋ณด์ž
new ๋ฐฑ์ค€ - 2225 - ํ•ฉ๋ถ„ํ•ด (G5)
๐Ÿง  Algorithm
1N, K = map(int, input().split()) 2 3dp = [[0]*(N+1) for _ in range(K+1)] 4for i in range(1, K+1): 5 dp[i][0] = 1 6 7for i in range(1, K+1): 8 for j in range(1, N+1): 9 dp[i][j] = (dp[i-1][j] + dp[i][j-1])%1000000000 10print (dp[K][N]) ๋‚ด ํž˜์œผ๋กœ ํ’€์—ˆ๋‹ค!
new ๋ฐฑ์ค€ - 2193 : ์ด์นœ์ˆ˜ (S3)
๐Ÿง  Algorithm
1N = int(input()) 2dp = [1]*N 3for i in range(2, N): 4 dp[i] = dp[i-2]+dp[i-1] 5print (dp[N-1]) ํ”ผ๋ณด๋‚˜์น˜์˜€๋‹ค
new ๋ฐฑ์ค€ - 17404 : RGB๊ฑฐ๋ฆฌ 2 (G4)
๐Ÿง  Algorithm
1N = int(input()) 2L = [list(map(int, input().split())) for _ in range(N)] 3 4result = 100000 5 6for i in range(3): 7 dp = [[0, 0, 0] for _ in range(N)] 8 dp[0] = [10000]*3 9 dp[0][i] = L[0][i] 10 for j in range(1, N): 11 dp[j][0] = min(dp[j-1][1], dp[j-1][2])+L[j][0] 12 dp[j][1] = min(dp[j-1][0], dp[j-1][2])+L[j][1] 13 dp[j][2] = min(dp[j-1][0], dp[j-1][1])+L[j][2] 14 15 dp[N-1][i] = 100000 16 result = min([result]+dp[N-1]) 17 18print (result) ์ธํ„ฐ๋„ท์„ ์ฐธ๊ณ ํ•˜์—ฌ ํ’€์—ˆ๋‹ค
new ๋ฐฑ์ค€ - 1699 : ์ œ๊ณฑ์ˆ˜์˜ ํ•ฉ (S2)
๐Ÿง  Algorithm
1N = int(input()) 2 3dp = [100000]*(N+1) 4tmp = 1 5 6for i in range(1, N+1): 7 if i**(1/2) % 1 == 0: 8 dp[i] = 1 9 tmp += 1 10 else: 11 for j in range(1, tmp): 12 dp[i] = min(dp[i], dp[i-(j**2)]+1) 13 14print (dp[N])
new ๋ฐฑ์ค€ - 15683 : ๊ฐ์‹œ (G4)
๐Ÿง  Algorithm
1import copy, sys 2 3N, M = map(int, input().split()) 4L = [list(map(int, input().split())) for _ in range(N)] 5cctv = [] 6direction = [[[(0, 1)], [(0, -1)], [(1, 0)], [(-1, 0)]], 7[[(-1, 0), (1, 0)], [(0, -1), (0, 1)]], 8[[(-1, 0), (0, -1)], [(0, -1), (1, 0)], [(1, 0), (0, 1)], [(0, 1), (-1, 0)]], 9[[(-1, 0), (0, -1), (1, 0)], [(0, -1), (1, 0), (0, 1)], [(1, 0), (0, 1), (-1, 0)], [(0, 1), (-1, 0), (0, -1)]], 10[[(-1, 0), (0, -1), (1, 0), (0, 1)]]] 11res = sys.
new ๋ฐฑ์ค€ - 14891 : ํ†ฑ๋‹ˆ๋ฐ”ํ€ด (G5)
๐Ÿง  Algorithm
1from collections import deque 2 3wheels = [deque(map(int, list(input()))) for _ in range(4)] 4 5def rotate(wheel, direction): 6 if direction == 1: 7 wheel.appendleft(wheel.pop()) 8 else: 9 wheel.append(wheel.popleft()) 10 return wheel 11 12K = int(input()) 13vd = [1, -1] 14res = 0 15 16for _ in range(K): 17 N, D = map(int, input().split()) 18 q = deque() 19 q.append((N-1, D)) 20 visited = [False] * 4 21 tmp = [] 22 23 while q: 24 cur, curD = q.
new ๋ฐฑ์ค€ - 11057 : ์˜ค๋ฅด๋ง‰ ์ˆ˜ (S1)
๐Ÿง  Algorithm
1N = int(input()) 2dp = [[1]+[0]*9 for _ in range(N+1)] 3 4for i in range(1, N+1): 5 for j in range(1, 10): 6 dp[i][j] = dp[i-1][j]+dp[i][j-1] 7 8print (sum(dp[N])%10007)
new ๋ฐฑ์ค€ - 11052 : ์นด๋“œ ๊ตฌ๋งคํ•˜๊ธฐ (S1)
๐Ÿง  Algorithm
1N = int(input()) 2P = list(map(int, input().split())) 3 4D = [P[0]]+[0]*(N-1) 5 6for i in range(1, N): 7 for j in range(1, i+1): 8 D[i] = max(D[i-j]+P[j-1], D[i]) 9 D[i] = max(P[i], D[i]) 10 11print (D[N-1]
new ๋ฐฑ์ค€ - 11051 : ์ดํ•ญ๊ณ„์ˆ˜2 (S2)
๐Ÿง  Algorithm
๋‚ด์žฅ ํ•จ์ˆ˜ ์‚ฌ์šฉ 1import math 2 3N, K = map(int, input().split()) 4 5print (math.comb(N, K)%10007 ํŒŒ์Šค์นผ์˜ ์‚ฌ๊ฐํ˜•? dp ๊ตฌํ˜„ 1N, K = map(int, input().split()) 2 3if K == 0: 4 print(1) 5 exit() 6 7dp = [[0]*N for _ in range(K)] 8 9for i in range(N): 10 dp[0][i] = i+1 11 12for i in range(1, K): 13 for j in range(i, N): 14 dp[i][j] = (dp[i-1][j-1] + dp[i][j-1]) % 10007 15 16print (dp[K-1][N-1])
new ๋ฐฑ์ค€ - 11048 : ์ด๋™ํ•˜๊ธฐ (S2)
๐Ÿง  Algorithm
1N, M = map(int, input().split()) 2dp = [list(map(int, input().split())) for _ in range(N)] 3 4for i in range(1, N): 5 dp[i][0] = dp[i][0]+dp[i-1][0] 6for i in range(1, M): 7 dp[0][i] = dp[0][i]+dp[0][i-1] 8 9for i in range(1, N): 10 for j in range(1, M): 11 dp[i][j] = dp[i][j]+max(dp[i-1][j], dp[i][j-1]) 12 13print (dp[N-1][M-1])
new ๋ฐฑ์ค€ - 10844 : ์‰ฌ์šด ๊ณ„๋‹จ ์ˆ˜ (S1)
๐Ÿง  Algorithm
์ ‘๊ทผ์ด ์–ด๋ ค์›Œ ์ธํ„ฐ๋„ท์„ ์ฐธ๊ณ ํ–ˆ๋‹ค. ์ฝ”๋“œ๋Š” ๋ณด์ง€ ์•Š์•˜๋‹ค. ์ˆ˜์˜ ๊ธธ์ด๊ฐ€ i์ด๋ฉด์„œ ๋งˆ์ง€๋ง‰ ์ˆซ์ž๊ฐ€ j์ธ ๊ณ„๋‹จ ์ˆ˜์˜ ๊ฐœ์ˆ˜๋ฅผ ์ €์žฅํ•˜๋Š” ๊ฒƒ์ด ํ•ต์‹ฌ์ด๋‹ค. ์ ํ™”์‹์€ L[i][j] = L[i-1][j-1]+L[i-1][j+1] ์ด๋‹ค. 1N = int(input()) 2L = [[0]*12 for _ in range(100)] 3L[0] = [0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0] 4 5for i in range(1, N): 6 for j in range(1, 11): 7 L[i][j] = L[i-1][j-1]+L[i-1][j+1] 8 9print (sum(L[N-1])%1000000000)
new ๋ฐฑ์ค€ - 1010 : ๋‹ค๋ฆฌ๋†“๊ธฐ (S5)
๐Ÿง  Algorithm
1import math 2 3for _ in range(int(input())): 4 a, b = map(int, input().split()) 5 print(math.comb(max(a,b), min(a,b)))
new ๋ฐฑ์ค€ - 9655 : ๋Œ๊ฒŒ์ž„ (S5)
๐Ÿง  Algorithm
1N = int(input()) 2print ('CY' if N%2==0 else 'SK') ๊ฒŒ์ž„์ด๋ก ์—์„œ ๊ธฐ์ดˆ ์ค‘ ๊ธฐ์ดˆ ๋ฌธ์ œ์ด๋‹ค
new ๋ฐฑ์ค€ - 1309 : ๋™๋ฌผ์› (S1)
๐Ÿง  Algorithm
1N = int(input()) 2dp = [1, 3] + [0]*(N-1) 3 4for i in range(2, N+1): 5 dp[i] = (dp[i-1]*2 + dp[i-2]) % 9901 6 7print(dp[N]) ๊ณ ๋ฏผ ๋์— ๋‹ต์„ ์ฐพ์•„๋ณด๊ธด ํ–ˆ๋‹ค ์ ํ™”์‹ ์ƒ๊ฐํ•ด๋‚ด๋Š” ๋†ˆ๋“ค ๋จธ๋ฆฌ์— ๋ญ๊ฐ€ ๋“ ๊ฑด์ง€ ๋ชจ๋ฅด๊ฒ ๋‹ค
new ๋ฐฑ์ค€ - 1890 : ์ ํ”„ (S1)
๐Ÿง  Algorithm
1N = int(input()) 2 3L = [list(map(int, input().split())) for _ in range(N)] 4dp = [[0]*N for _ in range(N)] 5dp[0][0] = 1 6for i in range(N): 7 for j in range(N): 8 if L[i][j] == 0: 9 continue 10 if dp[i][j] != 0: 11 right = j+L[i][j] 12 bottom = i+L[i][j] 13 14 if right < N: 15 dp[i][right] += dp[i][j] 16 if bottom < N: 17 dp[bottom][j] += dp[i][j] 18print (dp[N-1][N-1]) dp์— ์žˆ๋Š” ๊ฐ’์„ ๋”ํ•ด์•ผํ•˜๋Š”๋ฐ 1์„ ๋”ํ•ด์„œ ๋ช‡ ๋ฒˆ ํ‹€๋ ธ๋‹ค ๊ฑฐ์˜ ํ˜ผ์ž ํž˜์œผ๋กœ ํ’€์—ˆ๋‹ค
new ๋ฐฑ์ค€ - 2096 : ๋‚ด๋ ค๊ฐ€๊ธฐ (G5)
๐Ÿง  Algorithm
1N = int(input()) 2L = [list(map(int, input().split())) for _ in range(N)] 3dp1 = [L[0][i] for i in range(3)] 4dp2 = [L[0][i] for i in range(3)] 5 6for i in range(1, N): 7tmp1 = [0]*3 8tmp2 = [0]*3 9for j in range(3): 10 11 if j == 0: 12 tmp1[0] = L[i][j] + max(dp1[0], dp1[1]) 13 tmp2[0] = L[i][j] + min(dp2[0], dp2[1]) 14 elif j == 1: 15 tmp1[1] = L[i][j] + max(dp1[0], dp1[1], dp1[2]) 16 tmp2[1] = L[i][j] + min(dp2[0], dp2[1], dp2[2]) 17 else: 18 tmp1[2] = L[i][j] + max(dp1[1], dp1[2]) 19 tmp2[2] = L[i][j] + min(dp2[1], dp2[2]) 20 dp1 = [i for i in tmp1] 21 dp2 = [i for i in tmp2] 22 23print (max(dp1), min(dp2)) Memoization๊ณผ์ •์ด ๋‹ค๋ฅธ memoization ๋ณ€์ˆ˜์— ๋Œ€ํ•ด ์ข…์†์ ์ด๋ผ๋ฉด ์ž˜๋ชป๋œ ๊ฒฐ๊ณผ๋ฅผ ์ดˆ๋ž˜ํ•œ๋‹ค ์œ„ ์ฝ”๋“œ์—์„œ๋Š” ์ด๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด tmp1, tmp2 ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค ๊นŠ์ด ์ƒ๊ฐํ•˜์ง€ ์•Š๊ณ  ์—ฌ๋Ÿฌ ๋ฒˆ ์ œ์ถœํ•ด์„œ WA๊ฐœ์ˆ˜๊ฐ€ ์กฐ๊ธˆ ๋งŽ๋‹ค;;
  • ««
  • «
  • 4
  • 5
  • 6
  • 7
  • 8
  • »
  • »»
๐Ÿง  Algorithm (104) ๐ŸŒŠ C/CPP (2) โ˜• Java (8) ๐ŸŒ Javascript (9) ๐Ÿ Python (9) ๐Ÿƒ Spring (30) ๐Ÿ”จ ๊ฐœ๋ฐœ ๋„๊ตฌ (2) ๐ŸŽธ ๊ธฐํƒ€ (5) ๐Ÿ‘จโ€๐Ÿ’ป ๋ชจ๊ฐ์ฝ” (38) ๐Ÿค– ์ธ๊ณต์ง€๋Šฅ (2) ๐Ÿซ ํ•™๊ณผ ๊ณต๋ถ€ (28)
๐Ÿท๏ธ boj (53) ๐Ÿท๏ธ c (5) ๐Ÿท๏ธ c++ (4) ๐Ÿท๏ธ celery (2) ๐Ÿท๏ธ cs (16) ๐Ÿท๏ธ django (3) ๐Ÿท๏ธ docker (2) ๐Ÿท๏ธ docker-compose (1) ๐Ÿท๏ธ elk (1) ๐Ÿท๏ธ fastapi (4) ๐Ÿท๏ธ git (2) ๐Ÿท๏ธ github-actions (5) ๐Ÿท๏ธ hackerrank (3) ๐Ÿท๏ธ https (2) ๐Ÿท๏ธ java (37) ๐Ÿท๏ธ javascript (2) ๐Ÿท๏ธ jwt (1) ๐Ÿท๏ธ kubernetes (4) ๐Ÿท๏ธ nginx (2) ๐Ÿท๏ธ ocaml (1) ๐Ÿท๏ธ open-source (2) ๐Ÿท๏ธ programmers (48) ๐Ÿท๏ธ pytest (1) ๐Ÿท๏ธ python (111) ๐Ÿท๏ธ rabbitmq (2) ๐Ÿท๏ธ rag (3) ๐Ÿท๏ธ react (6) ๐Ÿท๏ธ security (3) ๐Ÿท๏ธ software-engineering (3) ๐Ÿท๏ธ spring (31) ๐Ÿท๏ธ sql (5) ๐Ÿท๏ธ ssl (1) ๐Ÿท๏ธ testing (4) ๐Ÿท๏ธ typescript (1) ๐Ÿท๏ธ vercel (1) ๐Ÿท๏ธ websocket (1)