BOJ/๐Ÿฅˆ40

โ˜…Sliding Window Upper + Intermediate - 2 Solvedโ˜… โ˜… 21921 ๋ธ”๋กœ๊ทธ โ˜…import sysinput=sys.stdin.readlineN,X=map(int,input().split())visitors=list(map(int,input().split()))ans,freq,cursum,start=0,0,0,0for i in range(N): if i ans: ans = cursum freq=1 start+=1if ans == 0: print('SAD')else: print(ans,freq,sep='\n') ๐Ÿ‚ ์ „ํ˜•์ ์ธ ์Šฌ๋ผ์ด๋”ฉ ์œˆ๋„์šฐ ๋ฌธ์ œ. ๊ณ ์ •๋œ X์ผ ๋™์•ˆ์˜ ๋ฐฉ๋ฌธ์ž ์ˆ˜ ์ตœ๋Œ“๊ฐ’ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ. ์—ฌ๊ธฐ์— ์ถ”๊ฐ€๋กœ ์ตœ๋Œ“๊ฐ’ ๋ฐฉ๋ฌธ์ž ์ˆ˜ frequency๊นŒ์ง€ ๊ฐ™์ด ๊ตฌํ•˜๋Š” ๋ฌธ์ œ. ans == cursu.. BOJ/๐Ÿฅˆ 2024. 10. 7.
โ˜…Implementation&Simulation Intermediate II - 3 Solvedโ˜… โ˜… 30458 ํŒฐ๋ฆฐ๋“œ๋กฌ ์• ๋„ˆ๊ทธ๋žจ โ˜…import sysinput=sys.stdin.readlineN=int(input())S=input().rstrip()if N%2==1: left,right=S[:len(S)//2],S[len(S)//2+1:]else: left,right=S[:len(S)//2],S[len(S)//2:]s=left+rightkinds=set(s)for kind in kinds: if s.count(kind)%2!=0: print('No') sys.exit()print('Yes') ๐Ÿ˜˜ ๋ฐ”๊พธ๋Š” ํšŸ์ˆ˜๋Š” ๋ฌด์ œํ•œ์ด๋ฏ€๋กœ, ์ฃผ์–ด์ง„ ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๊ฐ€ ์ง์ˆ˜/ํ™€์ˆ˜์— ๋”ฐ๋ผ ์ฃผ์–ด์ง„ ๋ฌธ์ž์˜ kind ๊ฐœ์ˆ˜ ์ง/ํ™€ ๋”ฐ์ง€๋ฉด ๋œ๋‹ค.โ˜… 30618 donstructive โ˜…N=i.. BOJ/๐Ÿฅˆ 2024. 8. 29.
โ˜…Stack & Queue & Deque Intermediate II - 3 Solvedโ˜… โ˜… 25497 ๊ธฐ์ˆ  ์—ฐ๊ณ„๋งˆ์Šคํ„ฐ ์ž„์Šค โ˜…import sysinput=sys.stdin.readlineN=int(input())string=input().rstrip()l,r,s,k,ans=0,0,0,0,0for i in range(N): if string[i] in '123456789': ans+=1 else: if string[i] == 'L': l+=1 elif string[i] == 'R': if l==0: print(ans) sys.exit() else: l-=1 ans+=1 .. BOJ/๐Ÿฅˆ 2024. 5. 26.
โ˜…DP Intermediate II - 2 Solvedโ˜… โ˜… 10826 ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜ 4 โ˜…n=int(input())def fibo(n): if n ๐ŸŽ‹ ์ „ํ˜•์ ์ธ DP ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜. ์ด ๋•Œ, ๋ฉ”๋ชจ๋ฆฌ ํšจ์œจ์„ฑ์„ ์œ„ํ•ด ๋‘ ๋ณ€์ˆ˜ a, b๋งŒ ์„ค์ •ํ•˜๊ณ  a+b๋Š” ๊ธฐ์กด a์— ๋ฎ์–ด์„œ ๋ฉ”๋ชจ๋ฆฌ ํšจ์œจ ๊ณ ๋ ค. ์ด ๋ถ€๋ถ„๋งŒ ์ฃผ์˜โ˜… 10211 Maximum Subarray โ˜…import sysinput=sys.stdin.readlineT=int(input())for _ in range(T): N=int(input()) arr=list(map(int,input().split())) if arr[0]๐ŸŽ‹ DP ๊ธฐ๋ฒ• ์‚ฌ์šฉํ•  ๋•Œ, ํ•ด๋‹น ์›์†Œ๊ฐ€ ๋ฐ˜๋“œ์‹œ ๋“ค์–ด๊ฐ€ ์žˆ์„ ๋•Œ์™€ ์•„๋‹ ๋•Œ ๋‘๊ฐ€์ง€ ์ผ€์ด์Šค๋กœ ๋‚˜๋ˆˆ๋‹ค. ๋ฐ˜๋“œ์‹œ ๋“ค์–ด๊ฐ€ ์žˆ์„ ๋•Œ๋Š” max(์•ž ์›์†Œ๊ฐ€ ํฌํ•จํ–ˆ์„ ๋•Œ + ํ•ด๋‹น ์›.. BOJ/๐Ÿฅˆ 2024. 5. 26.
โ˜…BFS&DFS Upper-Intermediate I - 16 Solvedโ˜… โ˜๏ธ ์ค‘์ƒ๊ธ‰์˜ BFS/DFS ์œ ํ˜•์€ ๊ทธ๋ž˜ํ”„ ์—ฐ๊ฒฐ ์š”์†Œ / ์—ฐ๊ฒฐ ์š”์†Œ ๋‚ด์˜ ๋…ธ๋“œ ๊ฐœ์ˆ˜ / ์ตœ๋‹จ ๊ฑฐ๋ฆฌ(Easy) 3๊ฐœ์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ๋ถ„๋ฅ˜ํ•  ์ˆ˜ ์žˆ๋‹ค.โ˜… 11724 ์—ฐ๊ฒฐ ์š”์†Œ์˜ ๊ฐœ์ˆ˜ โ˜…โ˜๏ธ DFSimport sysinput=sys.stdin.readlinesys.setrecursionlimit(10000)N,M=map(int,input().split())#dfsdef dfs(graph,start,visited): visited[start] = True for node in graph[start]: if not visited[node]: dfs(graph,node,visited)#graphgraph=[[] for _ in range(N+1)]for _ in range(.. BOJ/๐Ÿฅˆ 2024. 5. 12.
โ˜…Two-Pointers Upper-Intermediate I - 6 Solvedโ˜… โ˜… 3273 ๋‘ ์ˆ˜์˜ ํ•ฉ โ˜… import sysinput=sys.stdin.readlinen=int(input())l=list(map(int,input().split()))X=int(input())#arrayl.sort()#two-pointersx,y=0,n-1ans=0while x X y-=1 print(ans)  ๐Ÿก ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ ๋’ค, x๋ฅผ ๋ฐฐ์—ด ์™ผ์ชฝ ๋ / y๋ฅผ ๋ฐฐ์—ด ์˜ค๋ฅธ์ชฝ ๋์— ๋ฐฐ์น˜. l[x]+l[y]๊ฐ€ X๋ณด๋‹ค ํด ๊ฒฝ์šฐ, x๋ฅผ ์•„๋ฌด๋ฆฌ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ์ด๋™ํ•ด๋„ X๋ณด๋‹ค ํด ์ˆ˜ ๋ฐ–์— ์—†์Œ. ๋”ฐ๋ผ์„œ y๋ฅผ ์™ผ์ชฝ์œผ๋กœ ์ด๋™ / l[x]+l[y]๊ฐ€ X๋ผ๋ฉด ์ •๋‹ต ์ฐพ์Œ! ans+=1 ํ•œ ๋’ค, l[x]์™€ l[y]๋Š” ์ด์ œ X ๋‚˜์˜ค๋Š” ์—ฐ์‚ฐ์— ํ•„์š” ์—†์œผ๋ฏ€๋กœ x ์˜ค๋ฅธ์ชฝ ์ด๋™, y ์™ผ์ชฝ ์ด๋™ / l[x].. BOJ/๐Ÿฅˆ 2024. 2. 11.
โ˜…Backtracking Upper-Intermediate I - 9 Solvedโ˜… โ˜… 15663 N๊ณผ M (9) โ˜… import sys input=sys.stdin.readline N,M=map(int,input().split()) nums=list(map(int,input().split())) nums.sort() num,visited=[],[False]*N def track(): if len(num)==M: print(*num) else: last=0 for i in range(len(nums)): if not visited[i] and last!=nums[i]: visited[i]=True num.append(nums[i]) last=nums[i] track() num.pop() visited[i]=False track() โ˜… 15664 N๊ณผ M (10) โ˜… import sys .. BOJ/๐Ÿฅˆ 2024. 1. 20.
โ˜…Backtracking Intermediate I - 10 Solvedโ˜… โ˜… 15649 N๊ณผ M (1) โ˜… N,M=map(int,input().split()) ans=[] def track(): if len(ans) == M: #completed print(*ans) else: for x in range(1,N+1): if len(ans) == 0 or x not in ans: ans.append(x) track() ans.pop() #backtrack track() ๐Ÿ™ƒ backtracking ํฌ์ŠคํŒ… ์ฐธ์กฐ โ˜… 15650 N๊ณผ M (2) โ˜… N,M=map(int,input().split()) ans=[] def track(): if len(ans) == M: #completed print(*ans) else: for x in range(1,N+1): if len(ans) == .. BOJ/๐Ÿฅˆ 2024. 1. 18.
โ˜…Implementation&Simulation Upper-Intermediate I - 3 Solvedโ˜… โ˜… 2564 ๊ฒฝ๋น„์› โ˜… import sysinput=sys.stdin.readlinew,h=map(int,input().split())diameter = (w+h)*2loc=[]ans=0for _ in range(int(input())): d,l=map(int,input().split()) if d == 3: loc.append(l) elif d == 2: loc.append(l+h) elif d == 4: loc.append(h*2+w-l) else: #d==1 loc.append(h*2+w*2-l)d,l=map(int,input().split())if d == 3: me = lelif d == 2: me = l+h.. BOJ/๐Ÿฅˆ 2024. 1. 8.
โ˜…Tree Upper-Intermediate I - 3 Solvedโ˜… โ˜… 1991 ํŠธ๋ฆฌ ์ˆœํšŒ โ˜… import sys input=sys.stdin.readline def pre_order(node): print(node, end='') if tree[node][0] != '.': pre_order(tree[node][0]) if tree[node][1] != '.': pre_order(tree[node][1]) def in_order(node): if tree[node][0] != '.': in_order(tree[node][0]) print(node, end='') if tree[node][1] != '.': in_order(tree[node][1]) def post_order(node): if tree[node][0] != '.': post_order(tree[node].. BOJ/๐Ÿฅˆ 2023. 12. 19.
โ˜…BF Upper-Intermediate I - 2 Solvedโ˜… โ˜… 2503 ์ˆซ์ž ์•ผ๊ตฌ โ˜… import sysfrom itertools import permutationsinput=sys.stdin.readlineN=int(input())pos=list(permutations(['1','2','3','4','5','6','7','8','9'],3))idxs=[n for n in range(len(pos))]def get_strike_ball(a,b): strike=0 for x,y in zip(a,b): if x==y: strike+=1 return (str(strike),str(len(a+b)-len(set(a+b))-strike))for _ in range(N): num,S,B=input().split() didxs=[] .. BOJ/๐Ÿฅˆ 2023. 10. 26.
โ˜…Greedy Intermediate II - 11 Solvedโ˜… โ˜… 2012 ๋“ฑ์ˆ˜ ๋งค๊ธฐ๊ธฐ โ˜… import sysinput=sys.stdin.readlineN=int(input())ans,i=0,1for x in sorted([int(input()) for _ in range(N)]): ans+=abs(x-i) i+=1print(ans) ๐Ÿ’ฒ greedy ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์ง๊ด€์ ์œผ๋กœ optimal solution์˜ ๋ชจ์Œ → ์ „์ฒด ์ตœ์  solution์ด๋ผ ์ƒ๊ฐํ•˜๊ณ  ์ง„ํ–‰ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค. ๐Ÿ’ฒ greedy ๊ด€์  ๋ถ„์„: ๊ฐœ๋ณ„ ์ƒํ™ฉ) ๊ฐ์ž ์˜ˆ์ƒํ•œ ๋“ฑ์ˆ˜์— ์‹ค์ œ ๋“ฑ์ˆ˜ ๋ถ€์—ฌ, ๊ทธ๋ฆฌ๊ณ  ๋ถˆ๋งŒ๋„ ๊ตฌํ•˜๊ธฐ: ์ข…ํ•ฉ ์ƒํ™ฉ) ๋ถˆ๋งŒ๋„์˜ ํ•ฉ / ์ตœ์ ์˜ ์ข…ํ•ฉ ์ƒํ™ฉ) ๋ถˆ๋งŒ๋„์˜ ํ•ฉ์ด ์ตœ์†Œ โ˜… ์ตœ์ ์˜ ์ข…ํ•ฉ ์ƒํ™ฉ์€ ์ตœ์ ์˜ ๊ฐœ๋ณ„ ์ƒํ™ฉ์˜ ๋ชจ์Œ์œผ๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ๊ณ , ๊ฐœ๋ณ„ ์ƒํ™ฉ์˜ ์ตœ์  greedy ์†”๋ฃจ์…˜์€ ๋จผ์ € .. BOJ/๐Ÿฅˆ 2023. 8. 20.