BOJ/๐ฅ36 โ DP Upper-Intermediate I - 15 Solvedโ โ 2579 ๊ณ๋จ ์ค๋ฅด๊ธฐ โ # dp 1์ฐจ์ ๋ฐฐ์ดimport sysinput=sys.stdin.readlineN=int(input())S=[0]for _ in range(N):S.append(int(input()))if N==1:print(S[1])elif N==2:print(S[1]+S[2])elif N==3:print(S[3]+max(S[1],S[2]))else: dp=[0]*(N+1) dp[1]=S[1] dp[2]=S[1]+S[2] dp[3]=S[3]+max(dp[1],S[2]) for i in range(4,N+1): dp[i]=S[i]+max(dp[i-2],dp[i-3]+S[i-1]) print(dp[-1]).. BOJ/๐ฅ 2023. 1. 3. โ DP Intermediate I - 20 Solvedโ โ 17202 ํธ๋ํฐ ๋ฒํธ ๊ถํฉ โ A=list(input()) B=list(input()) l=[] for i in range(8):l.extend((int(A[i]),int(B[i]))) while len(l)>2: L=len(l) for j in range(L-1):l[j]=(l[j]+l[j+1])%10 del l[-1] print(*l,sep='') โ 16395 ํ์ค์นผ์ ์ผ๊ฐํ โ n,k=map(int,input().split()) d=[0]*n d[0]=1 if n==1:print(1) else: for i in range(1,n): new=[] new.append(1) for j in range(i-1): new.append(d[i-1][j]+d[i-1][j+1]) new.append(1) .. BOJ/๐ฅ 2022. 12. 22. โ Sorting Upper-Intermediate I - 6 Solvedโ โ 1138 ํ ์ค๋ก ์๊ธฐ โ N = int(input())highers = list(map(int,input().split()))[::-1]orders = []for higher in highers: orders.insert(higher,N) N -= 1print(*orders) ๐ซ๐ฟ ์์ ๋ณด๋ค ํค ํฐ ์ฌ๋์ด ์์ ๋ช ๋ช ์๋ ์ง ์ ๋ณด์ ๋ฐ๋ผ ์ค์ ์ ์์๋๋ก ์ถ๋ ฅํ๋ ๋ฌธ์ → ๋จผ์ ํค๊ฐ ํฐ ์ฌ๋๋ถํฐ ์์ ์์ ๋ณด๋ค ํค ํฐ ์ฌ๋์ ์ ๋ณด์ ๋ฐ๋ผ ์ค์ ์ ๋ค๋ฉด(์ ๋ ฅํ ๋ฐ๋์ ์ ๋ ฌ - ์ฌ๊ธฐ์๋ [::-1] ์ฌ์ฉ), ์ด ์ ๋ณด๋ ๊ณง ์์ ์ ์๋ ์ฌ๋์ ๋ช ์๊ฐ ๋๊ณ , ๊ณง ์ค line์ index๊ฐ ๋์ด python insert() ํจ์๋ฅผ ์ฌ์ฉํด ์ฐจ๋ก๋๋ก ์ค์ ์ค ์ ์๋ค.โ 2108 ํต๊ณํ โ ๐ญ ์ต๋น.. BOJ/๐ฅ 2022. 12. 20. โ Number Theory Intermediate I - 17 Solvedโ โ 9613 GCD ํฉ โ import sys input=sys.stdin.readline from itertools import combinations def gcd(a,b): #a0: a,b=b%a,a return b for _ in range(int(input())): ans = 0 pairs = list(combinations(list(map(int, input().split()))[1:], 2)) for pair in pairs: ans += gcd(pair[0], pair[1]) print(ans) ๐ฆ ์ต๋๊ณต์ฝ์ GCD๋ฅผ ๊ตฌํ๋ ์๊ณ ๋ฆฌ์ฆ์ ํฌ๊ฒ ์๋์ ๊ฐ์ด 3๊ฐ์ง๋ก ๋๋ ์ ์๋ค. โ math module ๋ด์ฅํจ์ ์ฌ์ฉ โก ์ ํด๋ฆฌ๋ ํธ์ ๋ฒ ์ฌ์ฉ (๋ณ๋ gcd ํจ์ ๋ฐ๋ก ๋ง๋ค๊ธฐ / ์ฌ๊ท) โข ์ .. BOJ/๐ฅ 2022. 12. 13. โ Stack & Queue & Deque Intermediate I - 20 Solvedโ โ 10828 ์คํ โ import sys N = int(sys.stdin.readline()) stack = []*N kinds = ['push', 'pop', 'size', 'empty', 'top'] for _ in range(N): order = sys.stdin.readline().split() kind = order[0] if kind == kinds[0]: stack.append(order[1]) elif kind == kinds[1]: if len(stack) > 0: print(stack[-1]) stack.pop() else: print(-1) elif kind == kinds[2]: print(len(stack)) elif kind == kinds[3]: print(0) if len(.. BOJ/๐ฅ 2022. 12. 11. โ Recursion Intermediate - 2 Solvedโ โ 17478 ์ฌ๊ทํจ์๊ฐ ๋ญ๊ฐ์? โ N = int(input()) print('์ด๋ ํ ์ปดํจํฐ๊ณตํ๊ณผ ํ์์ด ์ ๋ช ํ ๊ต์๋์ ์ฐพ์๊ฐ ๋ฌผ์๋ค.') def CH(n): if n < 0: return print('_'*4*(N-n) + '"์ฌ๊ทํจ์๊ฐ ๋ญ๊ฐ์?"') if n != 0: print('_'*4*(N-n) + '"์ ๋ค์ด๋ณด๊ฒ. ์๋ ์๋ ํ ์ฐ ๊ผญ๋๊ธฐ์ ์ด์ธ์ ๋ชจ๋ ์ง์์ ํต๋ฌํ ์ ์ธ์ด ์์์ด.') print('_'*4*(N-n) + '๋ง์ ์ฌ๋๋ค์ ๋ชจ๋ ๊ทธ ์ ์ธ์๊ฒ ์๋ง์ ์ง๋ฌธ์ ํ๊ณ , ๋ชจ๋ ์งํ๋กญ๊ฒ ๋๋ตํด ์ฃผ์์ง.') print('_'*4*(N-n) + '๊ทธ์ ๋ต์ ๋๋ถ๋ถ ์ณ์๋ค๊ณ ํ๋ค. ๊ทธ๋ฐ๋ฐ ์ด๋ ๋ , ๊ทธ ์ ์ธ์๊ฒ ํ ์ ๋น๊ฐ ์ฐพ์์์ ๋ฌผ์์ด."') else: print('_'*4*(N-n) + .. BOJ/๐ฅ 2022. 12. 11. โ Binary Search Intermediate I - 7 Solvedโ ๐ฉ๐ผ๐ฌ binary-search์ ํต์ฌ์ ํ์ ๋ฒ์๋ฅผ ์ค์ฌ, ์ํ๋ target์ ์ฐพ๋ ์๊ฐ ๋ณต์ก๋๋ฅผ $O(logN)$์ผ๋ก ์ค์ธ๋ค๋ ๋ฐ ์๋ค. ๐ฉ๐ผ๐ฌ binary-search ๊ฐ๋ต ์์ฝ โ ์ฃผ์ด์ง array, ์ฐพ๊ณ ์ ํ๋ target, ์์ start์ ๋ end - 4๊ฐ๊ฐ ์ฃผ์ด์ง๋ค. โก start์ end์ ์ค๊ฐ์ mid๋ฅผ ๊ตฌํ๋ค(์ง์์ด๋ฉด ์์์ ์ ์ฌ) โข mid๊ฐ ๊ฐ๋ฆฌํค๋ ๊ฐ์ด target์ด๋ฉด ๋! target๋ณด๋ค ํฌ๋ค๋ฉด end๋ฅผ mid-1๋ก, target๋ณด๋ค ์๋ค๋ฉด start๋ฅผ mid+1๋ก ์ค์ โ 13777 Hunt The Rabbit โ โป binary-search ์ ์ผ Bronze ๋ฌธ์ ์ด์ง๋ง Intermediate ํฌ์คํ ์ ๋ฃ์ โป def binary_search(n,l,start,end).. BOJ/๐ฅ 2022. 12. 7. โ Greedy Intermediate I - 20 Solvedโ ๐งโ๏ธ greedy ์ค๊ธ๋ฌธ์ ๋ ์ ํ์ ์ธ greedy ๋ํ ์์ ๋ชจ์์ด๋ผ๊ณ ์๊ฐํ๋ฉด ์ฝ๋ค! greedy ์ ํ์ ์ฃผ์ด์ง ์ํฉ์์ ๋ค์ํ ์ ํ์ง๊ฐ ์์ ๋ ๋น์ฅ์ ์ต์ ์ ์ ํ์ง๋ฅผ ๊ตฌํ ๊ฒฐ๊ณผ๋ฅผ ์ฐ์ํ ๋ ๊ทธ ๊ฒฐ๊ณผ๊ฐ ๊ณง ์ต์ ์ ๊ฒฐ๊ณผ๊ฐ ๋๋ค๋ ๋ด์ฉ์ด๋ค. ์ด ๋ ์ค์ํ ๊ฑด, ๋์ฌ ์ ์๋ ๋ชจ๋ ์ํฉ์ ์ ํด ๋๊ณ , ๊ทธ ์ํฉ์์ ์ต์ ์ ์ํฉ์ ์ฐ์ํด์ ๊ตฌํ ์ํฉ์ ๊ฒฐ๊ณผ ๋ชจ์์ด ๊ณง ์ ์ฒด์ ์ต์ ์ํฉ์ด์ด์ผ ํ๋ค๋ ์ ์ ๊ฐ ๊น๋ ค ์๋ค. โ 6752 Time on task โ T = int(input()) C = int(input()) times = [int(input()) for _ in range(C)] n = 0 times.sort() for time in times: T -= time if T < 0: break n +.. BOJ/๐ฅ 2022. 12. 5. โ Implementation&Simulation Intermediate I - 15 Solvedโ โ 2941 ํฌ๋ก์ํฐ์ ์ํ๋ฒณ โ s=input() for c in ['c=','c-','dz=','d-','lj','nj','s=','z=']: if c in s:s=s.replace(c,'*') print(len(s)) ๐ณ replace() โ 1316 ๊ทธ๋ฃน ๋จ์ด ์ฒด์ปค โ import sys input=sys.stdin.readline t=0 for _ in range(int(input())): s=input() f=0 for i in range(1,len(s)): if s[i]!=s[i-1]: if s[i] in s[:i]: f+=1 break if f==0:t+=1 print(t) โ 1213 ํฐ๋ฆฐ๋๋กฌ ๋ง๋ค๊ธฐ โ import sys input = sys.stdin.readline name = in.. BOJ/๐ฅ 2022. 11. 28. โ Math & Geometry Intermediate I - 8 Solvedโ โ 1676 ํฉํ ๋ฆฌ์ผ 0์ ๊ฐ์ โ ๐ง๐ผโ๏ธ ๋ค์์๋ถํฐ ๊ฑฐ๊พธ๋ก ์ผ์ผ์ด 0์ ๊ฐ์๋ฅผ ๋ฌธ์ ๋๋ก ์ฐพ๋ brute-forceN = int(input())fac = 1for i in range(N, 0, -1): fac *= icnt = 0for num in str(fac)[::-1]: if num == '0': cnt += 1 else: breakprint(cnt) ๐ง๐ผโ๏ธ ๊ทธ๋ฌ๋, ์ํ์ ์ผ๋ก ์ ๊ทผํด์ brute-force๊ฐ ์๋ ์ํ ํ์ด๋ก ์๊ฐ์ ๋ ๋จ์ถํ์๋ฉด, ๐ง๐ผโ๏ธ ํฉํ ๋ฆฌ์ผ ๊ฒฐ๊ณผ ๋์ 0์ ๊ฐ์ → 10์ผ๋ก ๋๋์ด์ง๋ ํ์์ ๊ฐ์ → 5์ 2์ ๊ฐ์ → 5์ ๊ฐ์โ 10์ผ๋ก ๋๋์ด๋จ์ด์ง๋ค๋ฉด ๋์ 0์ด 1๊ฐ, 100์ผ๋ก ๋๋์ด๋จ์ด์ง๋ค๋ฉด ๋์ .. BOJ/๐ฅ 2022. 11. 22. โ BF Intermediate I - 14 Solvedโ โ 1436 ์ํ๊ฐ๋ ์ โ N = int(input()) cnt = 0 start = 666 while 1: if '666' in str(start): cnt += 1 if N == cnt: print(start) break start+=1 else: start+=1 ๐ง๐ผ ๋ง ๊ทธ๋๋ก brutalํ๊ฒ ์ผ์ผ์ด ๋ชจ๋ ๊ฒฝ์ฐ์ ์์์ 666 ํฌํจ ์ฌ๋ถ๋ฅผ ๋ฐ์ง๋ ๋ฌธ์ → ์ต์ํ์ ์๊ฐ ๋จ์ถ์ ์ํด break๋ฅผ ๋ฃ์๊ณ , 666๋ถํฐ ์์ํ๊ฒ ์ฝ๋ ์ค์ ๐ง๐ผ ์์ ํ์ด๋ โ cnt ๋ณ์๋ฅผ ๋ฐ๋ก ๋ง๋ค์ด 1๋ถํฐ ์ถ๊ฐํ๋ฉฐ ์ฒดํฌํ๋ ๊ตฌ์กฐ์ด๋, ์๋์ ํ์ด๋ โกN ์์ฒด์์ 1์ฉ ๊ฐ์ํ๋ฉฐ ์ฒดํฌํ๋ ๊ตฌ์กฐ โป while N ํ์ด๊ฐ ์ ๋ฐํด์ ๊ฐ์ ธ์์ โป N = int(input()) cnt = 0 start = 665 while N: .. BOJ/๐ฅ 2022. 11. 21. โ Sorting Intermediate I - 13 Solvedโ โ 1181 ๋จ์ด ์ ๋ ฌ โ import sys input = sys.stdin.readline w = set() for _ in range(int(input())): w.add(input().rstrip()) w = list(w) w.sort() w.sort(key=len) #words.sort(key=lambda x:len(x)) print('\n'.join(w)) #for word in words: # print(word) ๐ โ ๊ฐ์ ๋จ์ด ํ ๋ฒ๋ง ์ถ๋ ฅ - ์ค๋ณต x - set() ์ฌ์ฉ โก ์ฌ์ ์ ์ ๋ ฌ, ์งง์ ๊ฒ๋ถํฐ ์ ๋ ฌ - sort() ์ฌ์ฉ ๐ โ set() ์ฌ์ฉํ ๋ค, add method๋ฅผ ์ฌ์ฉํด ์ค๋ณต์ด ๋ฐฐ์ ๋ ๋จ์ด set() ์์ฑ โป ๋จผ์ ๊ธธ์ด ์งง์ ๊ฒ๋ถํฐ ์ ๋ ฌํ๊ณ , ์ฌ์ ์ ์ ๋ ฌ์ด๋ฏ๋ก, A .. BOJ/๐ฅ 2022. 11. 20. ์ด์ 1 2 3 ๋ค์