๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
728x90
๋ฐ˜์‘ํ˜•

์•Œ๊ณ ๋ฆฌ์ฆ˜ ๐Ÿ’ก/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค25

๊นŠ์ด/๋„ˆ๋น„ ์šฐ์„  ํƒ์ƒ‰(DFS/BFS)_ํƒ€๊ฒŸ ๋„˜๋ฒ„.py(ํŒŒ์ด์ฌ) DFS ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ชจ๋“  ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ํƒ์ƒ‰ํ•˜๋ฉฐ, ๊ฐ ์ˆซ์ž๋ฅผ ๋”ํ•˜๊ฑฐ๋‚˜ ๋นผ๋Š” ๋‘ ๊ฐ€์ง€ ์„ ํƒ์„ ์žฌ๊ท€์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ํ’€์ด ๊ณผ์ •:1. ๊ฐ ์ˆซ์ž๋ฅผ ์ˆœ์ฐจ์ ์œผ๋กœ ์„ ํƒํ•˜์—ฌ, ๋”ํ•˜๋Š” ๊ฒฝ์šฐ์™€ ๋นผ๋Š” ๊ฒฝ์šฐ๋ฅผ ๋ชจ๋‘ ํƒ์ƒ‰ํ•œ๋‹ค.2. ๋ชจ๋“  ์ˆซ์ž์— ๋Œ€ํ•ด ์—ฐ์‚ฐ์„ ๋งˆ์ณค์„ ๋•Œ, ๊ฒฐ๊ณผ๊ฐ’์ด ํƒ€๊ฒŸ ๋„˜๋ฒ„์™€ ๊ฐ™์œผ๋ฉด ๋ฐฉ๋ฒ•์˜ ์ˆ˜๋ฅผ 1 ์ฆ๊ฐ€ ์‹œํ‚ต๋‹ˆ๋‹ค.3. ์ตœ์ข…์ ์œผ๋กœ ๋ชจ๋“  ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ํƒ์ƒ‰ํ•œ ํ›„, ๋ฐฉ๋ฒ•์˜ ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. def solution(numbers, target): answer = 0 # ํƒ€์ผ“ ๋„˜๋ฒ„๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์˜ ์ˆ˜๋ฅผ ์ €์žฅํ•˜๋Š” ๋ณ€์ˆ˜# dfs ํ•จ์ˆ˜๋Š” ํ˜„์žฌ ์ˆซ์ž์˜ ์ธ๋ฑ์Šค(index)์™€ ํ˜„์žฌ๊นŒ์ง€์˜ ํ•ฉ(current_sum)์„ ๋ฐ›์•„ ์žฌ๊ท€์ ์œผ๋กœ ํ˜ธ์ถœ๋ฉ๋‹ˆ๋‹ค. def dfs(index, current_sum): # nonl.. 2024. 10. 1.
์กฐ์ด์Šคํ‹ฑ Greedy name return"JEROEN" 56"JAN" 23def solution(name): # ์กฐ์ด์Šคํ‹ฑ ์กฐ์ž‘ ํšŸ์ˆ˜ answer = 0 # ๊ธฐ๋ณธ ์ตœ์†Œ ์ขŒ์šฐ์ด๋™ ํšŸ์ˆ˜ : ๊ธธ์ด - 1 min_move = len(name) - 1 for i, char in enumerate(name): # enumerate() ํ•จ์ˆ˜: enumerate()๋Š” ๋ฐ˜๋ณตํ•  ๋•Œ ์ธ๋ฑ์Šค์™€ ๊ฐ’์„ ๋™์‹œ์— ์ œ๊ณตํ•˜๋Š” ํ•จ์ˆ˜์ž…๋‹ˆ๋‹ค. enumerate(๋ฐ˜๋ณต_๋Œ€์ƒ)์€ (์ธ๋ฑ์Šค, ๊ฐ’) ํ˜•ํƒœ์˜ ํŠœํ”Œ์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. #์•ž์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ฒฝ์šฐ forward_move = ord(char) - ord('A') #๋’ค๋กœ ์ด๋™ํ•˜๋Š” ๊ฒฝ์šฐ backward_move = ord('Z') - ord(char)+1 # ํ•ด๋‹น ์•ŒํŒŒ๋ฒณ ๋ณ€๊ฒฝ ์ตœ.. 2024. 9. 1.
ํƒ์š•๋ฒ•(Greedy) ์ฒด์œก๋ณต ํƒ์š•๋ฒ•(Greedy) ์ฒด์œก๋ณต  def solution(n, lost, reserve): # reserve์™€ lost์— ๋™์‹œ์— ์žˆ๋Š” ํ•™์ƒ์€ ๋จผ์ € ์ œ๊ฑฐ (์ž๊ธฐ ์ž์‹ ์„ ๋นŒ๋ ค ์ž…๊ธฐ) lost_set = set(lost) - set(reserve) reserve_set = set(reserve) - set(lost) # ๊ธฐ๋ณธ์ ์œผ๋กœ ์ฒด์œก๋ณต์„ ๊ฐ€์ง„ ํ•™์ƒ ์ˆ˜ answer = n - len(lost_set) for i in reserve_set: if (i - 1) in lost_set : answer += 1 lost_set.remove(i - 1) elif (i + 1) in lost_set : .. 2024. 8. 31.
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์†Œ์ˆ˜ ์ฐพ๊ธฐ _ ํŒŒ์ด์ฌ https://school.programmers.co.kr/learn/courses/30/lessons/42839 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.programmers.co.kr * ์†Œ์ˆ˜๋Š” 1๊ณผ ์ž๊ธฐ ์ž์‹ ์™ธ์— ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€์ง€ ์•Š๋Š” ์ˆ˜๋ฅผ ๋งํ•ฉ๋‹ˆ๋‹ค.  1. ์ˆซ์ž ์กฐ๊ฐ์œผ๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ์ˆซ์ž ์กฐํ•ฉ ์ฐพ๊ธฐpython ์˜ itertools ๋ชจ๋“ˆ์„ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐ„ํŽธํ•˜๊ฒŒ ๋ชจ๋“  ์กฐํ•ฉ์„ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ๋Š” permutations ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.from itertools import permutationsdef get_all_combinations(numbers): all_combin.. 2024. 6. 16.
728x90
๋ฐ˜์‘ํ˜•