์ „์ฒด ๊ธ€

์ „์ฒด ๊ธ€

    [Python] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๊ด„ํ˜ธ ๋ณ€ํ™˜ | DFS

    ~๋ชฉ์ฐจ~ ๋ฌธ์ œ ์ž‘์„ฑ ์ฝ”๋“œ ๋ฌธ์ œ https://school.programmers.co.kr/learn/courses/30/lessons/60058 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr ์ž‘์„ฑ ์ฝ”๋“œ def check(par): # ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ ๋ฌธ์ž์—ด์ธ์ง€ ํ™•์ธํ•˜๋Š” ํ•จ์ˆ˜ stack = [] for p in par: if p == '(': stack.append('(') # '('๋ผ๋ฉด ์Šคํƒ์— ์‚ฝ์ž… elif p == ')' and stack: stack.pop() # ')'์ด๋ฉด์„œ ์Šคํƒ์— ๊ด„ํ˜ธ๊ฐ€ ์žˆ์œผ๋ฉด ์ถœ๋ ฅ else: return False # ')'์ด๋ฉด์„œ s..

    [Python] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜ | DP

    ~๋ชฉ์ฐจ~ ๋ฌธ์ œ ๋ฌธ์ œ ํ•ด๊ฒฐ ํฌ์ธํŠธ ์ž‘์„ฑ ์ฝ”๋“œ ๋ฌธ์ œ https://school.programmers.co.kr/learn/courses/30/lessons/12945 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr ๋ฌธ์ œ ํ•ด๊ฒฐ ํฌ์ธํŠธ - ์ „ํ˜•์ ์ธ DP(Dynamic Programming, ๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ) ๋ฌธ์ œ ํ•œ ๋ฒˆ ๊ณ„์‚ฐํ•œ ๊ฒฐ๊ณผ์— ๋Œ€ํ•ด ์ €์žฅํ•ด๋‘์–ด ์ดํ›„ ๋‹ค์‹œ ๊ณ„์‚ฐํ•˜์ง€ ์•Š๋Š”๋‹ค - 0 ~ n ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜๋ฅผ ์ €์žฅํ•  ๋ฆฌ์ŠคํŠธ ์„ ์–ธ ํ›„ 0๊ณผ 1์— ๋Œ€ํ•˜์—ฌ ์ดˆ๊ธฐ๊ฐ’ ์„ค์ • - 2 ~ n๊นŒ์ง€ f(n) = f(n-1) + f(n-2)๋ฅผ ์ˆ˜ํ–‰ - dp[n]์„ ๋ฐ˜ํ™˜ํ•˜๋˜ 1234567..

    [Python] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๋‹ค์Œ ํฐ ์ˆซ์ž

    ~๋ชฉ์ฐจ~ ๋ฌธ์ œ ๋ฌธ์ œ ํ•ด๊ฒฐ ํฌ์ธํŠธ ์ž‘์„ฑ ์ฝ”๋“œ ๋ฌธ์ œ https://school.programmers.co.kr/learn/courses/30/lessons/12911 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr ์ž‘์„ฑ ์ฝ”๋“œ def solution(n): cnt1 = str(bin(n)[2:]).count("1") for answer in range(n + 1, 1000001): if cnt1 == str(bin(answer)[2:]).count("1"): return answer bin ๋‚ด์žฅ ํ•จ์ˆ˜์— ๋Œ€ํ•ด ๋” ์•Œ๊ณ  ์‹ถ๋‹ค๋ฉด ๋‹ค์Œ ๊ธ€ ์ฐธ๊ณ ํ•˜์„ธ์š”! 2023.02.1..

    [Python] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๋‹จ์–ด ๋ณ€ํ™˜ | BFS

    ~๋ชฉ์ฐจ~ ๋ฌธ์ œ ๋ฌธ์ œ ํ•ด๊ฒฐ ํฌ์ธํŠธ ์ž‘์„ฑ ์ฝ”๋“œ ๋ฌธ์ œ https://school.programmers.co.kr/learn/courses/30/lessons/43163 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr ์ž‘์„ฑ ์ฝ”๋“œ from collections import deque def solution(begin, target, words): if target not in words: return 0 wordlen = len(begin) def diff1(w1, w2): # ๋‘ ๋‹จ์–ด๊ฐ€ ์•ŒํŒŒ๋ฒณ ํ•˜๋‚˜๋งŒ ๋‹ค๋ฅธ์ง€ ํŒ๋ณ„ํ•˜๋Š” ํ•จ์ˆ˜ cnt = 0 for i in range(..

    [Python] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ˆซ์ž์˜ ํ‘œํ˜„ | DP

    ~๋ชฉ์ฐจ~ ๋ฌธ์ œ ๋ฌธ์ œ ํ•ด๊ฒฐ ํฌ์ธํŠธ ์ž‘์„ฑ ์ฝ”๋“œ ๋ฌธ์ œ https://school.programmers.co.kr/learn/courses/30/lessons/12924 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr ๋ฌธ์ œ ํ•ด๊ฒฐ ํฌ์ธํŠธ - 1 ~ 10000๋ฅผ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ์—ฐ์†๋œ ์ˆ˜๋ฅผ ๋ชจ๋‘ ์ฐพ์•„ ๊ทธ ๊ฐœ์ˆ˜๋ฅผ ๊ฐ ๋ฆฌ์ŠคํŠธ์— ์ €์žฅํ•œ๋‹ค. - ๋ณธ์ธ ์ž์‹ ์œผ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ํ‘œํ˜„ ๊ฐ€๋Šฅํ•œ ์—ฐ์† ์ˆ˜๋Š” 1๊ฐœ ์ด์ƒ์ด๋‹ค. - ์—ฐ์† ์ˆ˜๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ์ˆ˜๋Š” 2์ค‘ for๋ฌธ์œผ๋กœ ์ฐพ์•„ ๊ฐ ์ธ๋ฑ์Šค ๋ฆฌ์ŠคํŠธ์— +1 ์ˆ˜ํ–‰ ๊ฐ€์žฅ ๋ฐ”๊นฅ for๋ฌธ์€ ์—ฐ์† ์ˆ˜์˜ ์ฒซ๋ฒˆ์งธ ์ˆ˜ ๋‘๋ฒˆ์งธ for๋ฌธ์€ ์ˆซ์ž๋ฅผ ์ˆœ..

    [Python] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ด์ง„ ๋ณ€ํ™˜ ๋ฐ˜๋ณตํ•˜๊ธฐ

    ~๋ชฉ์ฐจ~ ๋ฌธ์ œ ์ž‘์„ฑ ์ฝ”๋“œ ๋ฌธ์ œ https://school.programmers.co.kr/learn/courses/30/lessons/70129 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr ์ž‘์„ฑ ์ฝ”๋“œ ํ’€์ด 1 def solution(s): answer = [0, 0] def binary_trans(x): # ์ž…๋ ฅ๋œ ์ˆซ์ž๋ฅผ 2์ง„์ˆ˜๋กœ ๋ณ€ํ™˜ ํ•˜๋Š” ํ•จ์ˆ˜ answer = "" while x > 0: answer += str(x % 2) x //= 2 return answer while s != "1": # 1์ด ๋˜๊ธฐ ์ „๊นŒ์ง€ ๋ฐ˜๋ณต temp = s.count("0"..