๐Ÿ“๋ฌธ์ œ ํ’€์ด/๐ŸงฉProgrammers

    [Python] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์—ฌํ–‰๊ฒฝ๋กœ | DFS

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

    [Python] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ ํ”„์™€ ์ˆœ๊ฐ„ ์ด๋™

    ~๋ชฉ์ฐจ~๋ฌธ์ œ๋ฌธ์ œ ํ•ด๊ฒฐ ํฌ์ธํŠธ์ž‘์„ฑ ์ฝ”๋“œ ๋ฌธ์ œhttps://school.programmers.co.kr/learn/courses/30/lessons/12980 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.programmers.co.kr   ๋ฌธ์ œ ํ•ด๊ฒฐ ํฌ์ธํŠธ- ์ˆ˜ํ•™์  ์‚ฌ๊ณ - ์ˆœ๊ฐ„์ด๋™์€ ๋น„์šฉ์ด ๋“ค์ง€ ์•Š์œผ๋ฏ€๋กœ ์ด๋ฅผ ์ตœ๋Œ€ํ•œ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ๋กœ ๊ฒŒ์‚ฐ  ์ž‘์„ฑ ์ฝ”๋“œdef solution(n): answer = 0 while n > 0: # ์ˆœ๊ฐ„ ์ด๋™์„ ํ•˜์ง€ ๋ชป ํ•˜๋Š” ๋น„์šฉ answer += n % 2 # ์ˆœ๊ฐ„์ด๋™ n //= 2 return answer ..

    [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ํ•˜๋…ธ์ด์˜ ํƒ‘ | ์žฌ๊ท€ ํ˜ธ์ถœ | ๋ถ„ํ•  ์ •๋ณต

    ~๋ชฉ์ฐจ~ ๋ฌธ์ œ ๋ฌธ์ œ ํ•ด๊ฒฐ ํฌ์ธํŠธ ์ž‘์„ฑ ์ฝ”๋“œ ๋ฌธ์ œ ๋‹ค์‹œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ๋ฅผ ํ’€๊ธฐ์œ„ํ•ด ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์— ๋“ค์–ด๊ฐ”๋‹ค. AI๊ฐ€ ๋‚ด๊ฐ€ ๋ถ€์กฑํ•œ ๋ฌธ์ œ ์œ ํ˜•์„ ์ถ”์ฒœํ•ด์ฃผ์—ˆ๋Š”๋ฐ, ๋ฐ”๋กœ ์ด ํ•˜๋…ธ์ด์˜ ํƒ‘ ๋ฌธ์ œ์˜€๋‹ค. ๋‚ด๊ฐ€ ๋งค๋ฒˆ ํž˜๋“ค์–ดํ•˜๋˜ ๋ฌธ์ œ์ด๊ณ , AI์˜ ํ†ต์ฐฐ๋ ฅ์— ๊ฐํƒ„ํ•œ๋‹ค,, ๋‹ค์‹œ๋Š” ์žŠ์–ด๋ฒ„๋ฆฌ์ง€ ์•Š๋„๋ก ๋ธ”๋กœ๊ทธ๋กœ ์ •๋ฆฌํ•˜๋ ค๊ณ ํ•œ๋‹ค. https://school.programmers.co.kr/learn/courses/30/lessons/12946 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”. programmers.co.kr ๋ฌธ์ œ ํ•ด๊ฒฐ ํฌ์ธํŠธ - ์ „ํ˜•์ ์ธ ์žฌ๊ท€ํ˜ธ์ถœ ๋ฌธ์ œ - ํ•˜๋…ธ์ด ํƒ‘ ์›๋ฆฌ ์ดํ•ดํ•˜๊ธฐ * 3๊ฐœ์˜ ๊ธฐ๋‘ฅ์—์„œ ๊ฐ€์žฅ ์™ผ์ชฝ์—..

    [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"..