13์ผ์ฐจ(1/20) https://www.acmicpc.net/problem/16953from collections import dequedef bfs(a, b): # ํ์ (ํ์ฌ ๊ฐ, ์ฐ์ฐ ํ์)๋ก ์์ ์ํ๋ฅผ ๋ฃ์ queue = deque([(a, 1)]) # ์์ ๊ฐ a์์ ์ฐ์ฐ 1๋ฒ๋ถํฐ ์์ visited = set([a]) # ๋ฐฉ๋ฌธํ ๊ฐ๋ค์ ๊ธฐ๋กํ์ฌ ์ค๋ณต ๋ฐฉ์ง while queue: current, count = queue.popleft() # 2๋ฅผ ๊ณฑํ ๊ฐ์ด B์ ๊ฐ์ผ๋ฉด ๋ฐ๋ก ๋ฐํ if current == b: return count # ๋ ๊ฐ์ง ์ฐ์ฐ์ ์๋ # 1. 2๋ฅผ ๊ณฑํ๋ค. ..
๐ฏ ์๊ณ ๋ฆฌ์ฆ/BOJ
7์ผ์ฐจ(1/13) https://www.acmicpc.net/problem/1181๋๋ค๋ฅผ ์ธ ์ ์๋๋lists = []n = int(input())for _ in range(n): lists.append(input().strip())set_lists = set(lists)# ๊ธธ์ด ์ฐ์ -> ์ฌ์ ์sorted_lists = sorted(set_lists, key=lambda x: (len(x), x))for word in sorted_lists: print(word) https://www.acmicpc.net/problem/10825์ด๋, ๋๋ค์์ -๋ฅผ ๋ถ์ฌ์ ๋ด๋ฆผ์ฐจ์์ ํํํ๋๋ฐ,๋๋ค์ ๊ธฐ๋ณธ ์ ๋ ฌ์ ์ค๋ฆ์ฐจ์์ด๋ค. ๋ด๋ฆผ์ฐจ์์ ์ํด์ -๋ฅผ ๋ถ์ด๊ฑฐ๋, ๋งค๊ฐ๋ณ์๋ก reverse=True๋ฅผ ์จ์ผํ..
4์ผ์ฐจ(1/9) https://www.acmicpc.net/problem/11005 ๊ฝค ๊น๋ค๋ก์ ๋ค. n,b = map(int,input().split())ans=''while n!=0: remainder= n%b if remainder>=10: buf = chr(remainder - 10 + ord('A')) else: buf =str(remainder) ans = buf + ans n//=bprint(ans) https://www.acmicpc.net/problem/3062 N=int(input())for _ in range(N): num= int(input()) num_reverse = int(str(num)[::-1]) ans= n..
๋งค์ผ ์ต์ ํ ๋ฌธ์ ์ฉ ํ๊ณ , ์๊ฐ๊ณผ์ ์ ๋ฆฌ 1์ผ์ฐจ(1/6) https://www.acmicpc.net/problem/2839 5,3์ ๋ฐฐ์๊ด๊ณ๊ฐ ์๋๊ธฐ์, ๋จ์ํ ๊ตฌํ๋ ์ซ์๋ฅผ 5๋ก ๋๋ ๋๋จธ์ง์ ๋ํ ๋ฌด๊ฒ๋ฅผ 3์ผ๋ก ๋๋๋ ๋ฐฉ์์ผ๋ก ํ๋ฉด ์๋๋ค.์ ๊ทผ ๋ฐฉ๋ฒ1. 5kg ๋ด์ง๋ฅผ ์ต๋ํ ๋ง์ด ์ฌ์ฉํ๋ ๊ฒ์ด ์ ๋ฆฌํ๋ค.N์์ 5kg ๋ด์ง ๊ฐฏ์๋ฅผ ์ค์ฌ๊ฐ๋ฉฐ ๋๋จธ์ง๊ฐ 3kg๋ก ๋๋ ์ง๋์ง ํ์ธN์์ 3์ ๋บ ์ซ์๊ฐ 5๋ก ๋๋ ์ง๋์ง๋ฅผ ๋ด์ผํจ. ex) 18 -> 15: 5๋ก ๋๋ ์ง์ด๋ N์์๋ 3์ ๋นผ๊ณ , answer๋ 1์ ๋ํ๋ฉด๋๋ค.2. N์ 3,5๋ก ์ ํํ ๋ชป ๋๋๋ฉด ๋ชป ๊ตฌํ๋ ๊ฒ -> -1 def solution(n): answer=0 while n>=0: #n=7 -> 3,3,1 if n%5=..
DP๋ฅผ ๊ตฌํํ๋ ๋ฐฉ๋ฒ์ 2๊ฐ์ง๊ฐ ์กด์ฌํ๋ค. Top-downBottom-up๊ตฌํ์ฌ๊ท๋ฐ๋ณต๋ฌธ์ ์ฅ๋ฐฉ์๋ฉ๋ชจ์ด์ ์ด์
ํ๋ทธ๋ ์ด์
Memoization - ํ์ํ ๋ถ๋ถ ๋ฌธ์ ๋ค๋ง ๊ตฌํ๊ธฐ๋ถ๋ถ ๋ฌธ์ ๋ค์ ๋ต์ ํ ๋ฒ ๊ตฌํ์ผ๋ฉด ๋ ๊ตฌํ์ง ์๋๋ก (์ค๋ณต์ฐ์ฐ ์๋๋ก) cache์ ์ ์ฅํด๋๊ณ ๋ค์์ ๊ฐ๋ค ์ฐ๊ธฐ Tabulation - ๋ถ๋ถ ๋ฌธ์ ๋ค์ ๋ต์ ๋ฏธ๋ฆฌ ๋ค ๊ตฌํด๋๋ฉด ํธํ๋ค.ํ
์ด๋ธ์ ์ฑ์๊ฐ๋ค → ํ๋ทธ๋ ์ด์
๋ฌธ์ ๋ฅผ ์ชผ๊ฐ์ ์์ ๋ฌธ์ ๋ถํฐ ๊ตฌํด๊ฐ๋ฉฐ ์๋ ๋ฌธ์ ์ ๋ต์ ๊ตฌํ๋ ๋ฐฉ์์ด๋ค.ํต์ฌ์ ์ ํ์์ ์ฐพ๊ณ , ํ
์ด๋ธ๋ง ์ ์ ์ํ๋ฉด ํ๋ฆฐ๋ค. (์ ํ์ ์ฐพ๊ธฐ๊ฐ ์ฝ์ง ์๋ค๋๊ฒ ๋ฌธ์ ใ
ใ
) ์ด์ ๋ฌธ์ ๋ค์ ํ์ด๋ณด์. ๋ฌธ์ ํ์ดhttps://koreatstm.tistory.com/148https://koreatstm.tistory.com/149https:/..

https://www.acmicpc.net/problem/10844๊ท์น์ ๋จผ์ ์ฐพ์๋ณด์๋ณธ์ธ์ A4์ฉ์ง์ ๊ทธ๋ ค๊ฐ๋ฉฐ ๊ท์น์ ์ฐพ์๋ณด์๋ค.์ธ๋ฑ์ค๋ฅผ 0๋ถํฐํด์ ์
๋ ฅ์ด ์ต๋ 100์ด๊ธฐ์, 100ํ 10์ด๋ก ๋ง๋ค์ด๋ณธ๋ค๋ฉด, ์๋ ์ฌ์ง๊ณผ ๊ฐ์ด ๋์จ๋ค.์จ๋ณด๋ ๊ท์น์ด ๋ณด์ธ๋ค.1ํ์ ๋ชจ๋ ๊ฐ์ด 1์ด๊ณ , 2ํ๋ถํฐ๋ ํน๋ณํ ๊ท์น์ด ์๊ธด๋ค.ํ์ดํ๋ก ํ์ํด ๋์๋ฏ 0์ด์ ๊ฐ์ ์ด์ ํ์ 1์ด์ ๊ฐ์ด๊ณ ,9์ด์ ๊ฐ์ ์ด์ ํ์ 8์ด์ ๊ฐ์์ ์ ์ ์๋ค.๋ํ ๊ฐ์ด๋ฐ ๊ฐ๋ค์ ์๋ฅผ๋ค์ด 3ํ 3์ด์ด๋ผ๊ณ ํ๋ฉด, ๊ทธ ๊ฐ์ 2ํ2์ด๊ณผ 2ํ4์ด์ ๊ฐ์ ํฉ์์ ์ ์ ์๋ค.์ด์ ํ๋ทธ๋ ์ด์
์ผ๋ก ํ์ด๋ณด์ n=int(input())cache = [[0]* 10 for _ in range(101)]for i in range(1,101): for j i..

https://www.acmicpc.net/problem/11726๊ท์น์ ๋จผ์ ์ฐพ์๋ณด์๋ณธ์ธ์ A4์ฉ์ง์ ๊ทธ๋ ค๊ฐ๋ฉฐ ๊ท์น์ ์ฐพ์๋ณด์๋ค.์ฆ, ์ ์ ํ์๋ ๋ด์ฉ๊ณผ ๊ฐ์ ๋ฐฉ์์ด๋ค.https://koreatstm.tistory.com/148 [๋ฐฑ์ค/Python] 2748:ํผ๋ณด๋์น ์ 2https://www.acmicpc.net/problem/2748n=int(input())def func(n): if n==0: return 0 if n==1: return 1 else: return func(n-1)+func(n-2)print(func(n))์๊ฐ์ด๊ณผ๊ฐ ๋๋ค.์บ์ฑ์ ์ํด์ ์ค๋๊ฑธ๋ฆฌ๊ณ , ์๊ฐ๋ณต์ก๋๋ ์์ฒญ ๋๊ธฐ์ ์๊ฐ์ด๊ณผ๊ฐkoreatstm.tistory.com์ด์ฒ๋ผ f(n) = f(n-1) + f(n-2)์ ๊ท์น์ด๋ค.์ด์ ..
https://www.acmicpc.net/problem/11051์ด๊ธฐ์ฝ๋n, k = map(int,input().split())def fun(n,k): if k==n or k==0: return 1 else: return fun(n-1,k-1)+fun(n-1,k)print(fun(n,k)%10007)์๊ฐ์ด๊ณผ๋๋ค์ฌ๊ท(๋ฉ๋ชจ์ด์ ์ด์
)import sysn, k = map(int,input().split())sys.setrecursionlimit(10**7)cache = [[0]*1001 for _ in range(1001)]def fun(n,k): if cache[n][k]: # 0์ด ์๋ ์๋ผ๋ฉด return cache[n][k] if k==n ..