bong-u/til

๐Ÿ  home ๐Ÿˆ repository
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๊ฐœ์ˆ˜๊ฐ€ ์กฐ๊ธˆ ๋งŽ๋‹ค;;
new ๋ฐฑ์ค€ - 12852 : 1๋กœ ๋งŒ๋“ค๊ธฐ 2 (S1)
๐Ÿง  Algorithm
 1N = int(input())
 2
 3dp = [0, 0] + [10**6]*(N-1)
 4bt = [0]*(N+1)
 5
 6for i in range(2, N+1):
 7    dp[i] = min(dp[i-1]+1, dp[i])
 8    bt[i] = i-1
 9
10    if i%3 == 0:
11        if dp[i//3]+1 < dp[i]:
12            dp[i] = dp[i//3]+1
13            bt[i] = i//3
14    if i%2 == 0:
15        if dp[i//2]+1 < dp[i]:
16            dp[i] = dp[i//2]+1
17            bt[i] = i//2
18        dp[i] = min(dp[i], dp[i//2]+1)
19
20print(dp[N]๋‹ค
21i = N
22while i != 1:
23    print (i, end=' ')
24    i = bt[i]
25print (1)
  • dp ์•„์ง ๋งŽ์ด ๋ฉ€์—ˆ๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ ๋‹ค
new ๋ฐฑ์ค€ - 17070 : ํŒŒ์ดํ”„ ์˜ฎ๊ธฐ๊ธฐ 1 (G5)
๐Ÿง  Algorithm
 1N = int(input())
 2
 3L = [list(map(int, input().split())) for _ in range(N)]
 4result = 0
 5
 6def dfs(x, y, direc):
 7    global result
 8    if x == N-1 and y == N-1:
 9        result += 1
10        return
11
12    if x+1 < N and y+1 < N and L[y+1][x] == 0 and L[y][x+1] == 0 and L[y+1][x+1] == 0:
13        dfs(x+1, y+1, 2)
14
15    if (direc == 0 or direc == 2) and x+1 < N and L[y][x+1] == 0:
16        dfs(x+1, y, 0)
17
18    if (direc == 1 or direc == 2) and y+1 < N and L[y+1][x] == 0:
19        dfs(x, y+1, 1)
20
21dfs(1, 0, 0)
22print(result)
  • ๋ณ„๊ฑฐ ์•„๋‹Œ๊ฒŒ.. ์ดํ‹€ ๊ฑธ๋ฆฐ๋ฌธ์ œ์ด๋‹ค ๋ถ„๋ฐœํ•˜์ž
new ๋ฐฑ์ค€ - 1965 : ์ƒ์ž๋„ฃ๊ธฐ (S2)
๐Ÿง  Algorithm
1N = int(input())
2L = list(map(int, input().split()))
3dp = [0]*N
4
5for i in range(1, N):
6    for j in range(i):
7        if L[j]<L[i] and dp[i]<dp[j]+1:
8            dp[i] = dp[j]+1
9print(max(dp)+1)
  • LIS๋ฅผ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค
new ๋ฐฑ์ค€ - 16194 : ์นด๋“œ ๊ตฌ๋งคํ•˜๊ธฐ 2 (S1)
๐Ÿง  Algorithm
 1N = int(input())
 2P = list(map(int, input().split()))
 3dp = [10000000]*(N)
 4
 5for i in range(N):
 6    for j in range(i):
 7        dp[i] = min(dp[i], dp[j]+P[i-j-1])
 8    dp[i] = min(dp[i], P[i])
 9
10print (dp[N-1])
new ๋ฐฑ์ค€ - 1495 : ๊ธฐํƒ€๋ฆฌ์ŠคํŠธ (S1)
๐Ÿง  Algorithm
 1N, S, M = map(int, input().split())
 2P = list(map(int, input().split()))
 3dp = [[False]*(M+1) for _ in range(N+1)]
 4
 5dp[0][S] = True
 6
 7for i in range(1, N+1):
 8    for j in range(M+1):
 9        if dp[i-1][j]:
10            if 0 <= j-P[i-1] <= M:
11                dp[i][j-P[i-1]] = True
12            if 0 <= j+P[i-1] <= M:
13                dp[i][j+P[i-1]] = True
14result = -1
15for i in range(M+1):
16    if dp[N][i]:
17        result = i
18print (result)
  • ์ธํ„ฐ๋„ท์—์„œ ์ ‘๊ทผ์„ ์ฐธ๊ณ ํ–ˆ๋‹ค
new ๋ฐฑ์ค€ - 2011 : ์•”ํ˜ธ์ฝ”๋“œ (G5)
๐Ÿง  Algorithm
 1L = list(input())
 2N = len(L)
 3MOD = 10**6
 4
 5def solution():
 6    if L[0] == '0':
 7        return 0
 8
 9    dp = [1, 1]+[0]*(N-1)
10
11    for i in range(2, N+1):
12        if L[i-1] != '0':
13            dp[i] = (dp[i]+dp[i-1]) % MOD
14        if 10 <= int(L[i-2]+L[i-1]) <= 26:
15            dp[i] = (dp[i]+dp[i-2]) % MOD
16
17    return dp[N]
18
19
20print (solution())
  • ์ธํ„ฐ๋„ท์„ ์ฐธ๊ณ ํ•˜์—ฌ ํ’€์—ˆ๋‹ค
  • ««
  • «
  • 11
  • 12
  • 13
  • 14
  • 15
  • »
  • »»
๐Ÿง  Algorithm (104) ๐ŸŒŠ C/CPP (2) โ˜• Java (8) ๐ŸŒ Javascript (9) ๐Ÿ Python (9) ๐Ÿƒ Spring (30) ๐Ÿ”จ ๊ฐœ๋ฐœ ๋„๊ตฌ (2) ๐ŸŽธ ๊ธฐํƒ€ (7) ๐Ÿ‘จโ€๐Ÿ’ป ๋ชจ๊ฐ์ฝ” (38) ๐Ÿค– ์ธ๊ณต์ง€๋Šฅ (2) ๐Ÿซ ํ•™๊ณผ ๊ณต๋ถ€ (28)
๐Ÿท๏ธ boj (53) ๐Ÿท๏ธ c (5) ๐Ÿท๏ธ c++ (4) ๐Ÿท๏ธ celery (2) ๐Ÿท๏ธ cs (18) ๐Ÿท๏ธ 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)