BOJ/๐Ÿฅ‡18

โ˜…Greedy Upper-Advanced I - 1 Solvedโ˜… โ˜… 1700 ๋ฉ€ํ‹ฐํƒญ ์Šค์ผ€์ค„๋ง โ˜… โค๏ธ‍๐Ÿ”ฅ Optimal Page Replacement ์•Œ๊ณ ๋ฆฌ์ฆ˜์—์„œ ์ฝ˜์„ผํŠธ์— ์ฒ˜์Œ์œผ๋กœ ๊ผฝ๋Š” page fault ํšŸ์ˆ˜๋ฅผ ์ œ์™ธํ•œ page fault์˜ ํšŸ์ˆ˜๋ฅผ ์ตœ์†Œํ™”ํ•˜๋Š” ๋ฌธ์ œ โค๏ธ‍๐Ÿ”ฅ โ‘  ์ฝ˜์„ผํŠธ ์ฑ„์šฐ๊ธฐ → โ‘ก ์ฝ˜์„ผํŠธ์— ์กด์žฌํ•˜์ง€ ์•Š๋Š” ์ฒซ ๊ธฐ๊ธฐ ๋“ฑ์žฅํ•˜๋ฉด(page fault ์ƒํ™ฉ) (1) ์ด๋ฏธ ์ฑ„์šด ๊ธฐ๊ธฐ ์ค‘ ์•„์˜ˆ ์กด์žฌํ•˜์ง€ ์•Š๋Š” ๊ธฐ๊ธฐ๊ฐ€ ์žˆ๋‹ค๋ฉด ํ•ด๋‹น ๊ธฐ๊ธฐ์™€ ๊ต์ฒด (2) ์—†๋‹ค๋ฉด ์ฝ˜์„ผํŠธ ๊ธฐ๊ธฐ์˜ index ํ™•์ธํ•ด ๊ฐ€์žฅ ๋‚˜์ค‘์— ๋“ฑ์žฅํ•˜๋Š” ๊ธฐ๊ธฐ์™€ ๊ต์ฒด(greedy) import sys input=sys.stdin.readline N,K=map(int,input().split()) names=list(map(int,input().split())) ans=0 ps=[0]*N #power_strip in.. BOJ/๐Ÿฅ‡ 2023. 10. 18.
โ˜…BF Advanced I - 3 Solvedโ˜… โ˜… 14500 ํ…ŒํŠธ๋กœ๋ฏธ๋…ธ โ˜… import sys input=sys.stdin.readline N,M=map(int,input().split()) tetris=[] for _ in range(N): tetris.append(list(map(int,input().split()))) ans=0 for i in range(N): for j in range(M): #1x4 if j BOJ/๐Ÿฅ‡ 2023. 10. 6.
โ˜…Greedy Advanced I - 4 Solvedโ˜… โ˜… 1744 ์ˆ˜ ๋ฌถ๊ธฐ โ˜… import sys input=sys.stdin.readline N=int(input()) arr=[int(input()) for _ in range(N)] ans=0 pos,neg,zero,one=[],[],[],[] for n in arr: if n==0: zero.append(0) elif n==1: one.append(1) elif n>0: pos.append(n) else: neg.append(n) #1. don't tie ones ans+=len(one) #2.tie pos(from the biggest) pos.sort(reverse=True) for i in range(0,len(pos),2): if i==len(pos)-1:ans+=pos[i] else:ans+=.. BOJ/๐Ÿฅ‡ 2023. 8. 30.
โ˜…Sorting Advanced I - 5 Solvedโ˜… โ˜… 1083 ์†ŒํŠธ โ˜… import sys input=sys.stdin.readline N=int(input()) arr=list(map(int,input().split())) S=int(input()) for i in range(N): subarray_max = max(arr[i:i+S+1]) if arr[i] != subarray_max: subarray_max_index = arr.index(subarray_max) for j in range(subarray_max_index-i): arr[subarray_max_index-j], arr[subarray_max_index-j-1] = arr[subarray_max_index-j-1], arr[subarray_max_index-j] S-=(subarra.. BOJ/๐Ÿฅ‡ 2023. 7. 28.
โ˜…DP Advanced I - 4 Solvedโ˜… โ˜… 2591 ์ˆซ์ž์นด๋“œ โ˜… n=input()l=len(n)if l==1:print(1)else: dp=[0]*l #dp-table initialization - dp[0], dp[1] dp[0]=1 front_two=int(n[:2]) if front_two =4: dp[i]=0 else: dp[i]=dp[i-2] print(dp[-1]) ๐Ÿ‘„ dp-table์„ ์ „ํ˜•์ ์ธ dp ์œ ํ˜• ๋‹ต๊ฒŒ updateํ•˜๋Š” ์œ ํ˜•์ด๋‚˜, ๋งจ ๋งˆ์ง€๋ง‰ ์ˆซ์ž๊ฐ€ 0์ผ ๊ฒฝ์šฐ์˜ ์˜ˆ์™ธ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” dp ์œ ํ˜•! ๐Ÿ‘„โ‘  ๊ธธ์ด๊ฐ€ 1์ธ ๊ฒฝ์šฐ - ์ˆซ์ž 1๊ฐœ๋กœ ์ด๋ฃจ์–ด์ง„ ์นด๋“œ 1๊ฐœ - dp[0] = 1 โ‘ก ๊ธธ์ด๊ฐ€ 2์ธ ๊ฒฝ์šฐ(1) ์•ž.. BOJ/๐Ÿฅ‡ 2023. 1. 8.
โ˜…hashing ์ƒ๊ธ‰ - 1๋ฌธ์ œ()โ˜… ๐Ÿฅ‚ hash ์ •๋ฆฌ ํฌ์ŠคํŒ… https://sh-avid-learner.tistory.com/194 ๐Ÿฅ‚ hashing ๊ฐœ๋… ์ž์ฒด๊ฐ€ ๊ณ ๋‚œ์ด๋„๋กœ ์ƒ๊ธ‰ ์ด์ƒ์˜ ๋‚œ์ด๋„ ๋ฌธ์ œ๋กœ ๋งŽ์ด ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค. hashing ๊ธฐ์ดˆ๋ถ€ํ„ฐ ์ƒ๊ธ‰ ๋ฌธ์ œ๊นŒ์ง€ ๋ชจ๋‘ ์•„์šธ๋Ÿฌ ๋ฌธ์ œ๋ฅผ ํ’€์–ด๋ณด์ž โ˜… 15829 Hashing โ˜… ๐Ÿฅ‚ ์ตœ๋Œ€ํ•œ ์ถฉ๋Œ์ด ์ ๊ฒŒ ์ผ์–ด๋‚˜๊ฒŒ๋” ๋งŒ๋“  hash function ๊ตฌํ˜„ ์œ ํ˜• → 1) ์˜์–ด์†Œ๋ฌธ์ž๋ฌธ์ž์—ด์—์„œ (a๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋Š” 0๋ฒˆ ~) 31์˜ ์•ŒํŒŒ๋ฒณ ๋ฒˆํ˜ธ ์ง€์ˆ˜์Šน → 2) input ๊ธธ์ด๊ฐ€ ์ฆ๊ฐ€ํ•  ๋•Œ๋งˆ๋‹ค 0๋ถ€ํ„ฐ ์ปค์ง€๋Š” ์ •์ˆ˜ → 1)๊ณผ 2)๋ฅผ ๊ณฑํ•œ ๋ˆ„์ ํ•ฉ์— 1234567891์„ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€ input() key = input() alphas = 'abcdefghijklmnopqrstuvwxyz' i,ans=0,0 for l in .. BOJ/๐Ÿฅ‡ 2022. 11. 6.