๐ Algorithm/Programmers (6) ์ธ๋ค์ผํ ๋ฆฌ์คํธํ Progammers ํ๋ก๊ทธ๋๋จธ์ค - [๋ค์ ํฐ ์ซ์] Python ํ์ด์ฌ ํ์ด ๐ ๋ฌธ์ ๐ซ ์ ํ ์ฌํญ โ๏ธ ์ ์ถ๋ ฅ ๐ก ํ์ด 2์ง์์์์ 1์ ๊ฐฏ์๋ฅผ ์ธ์ผํ๊ธฐ ๋๋ฌธ์, bin()๊ณผ .count("1")์ ์ฌ์ฉํ๋ค. ์กฐ๊ฑด1๊ณผ ์กฐ๊ฑด3์ ๋์์ ๋ง์กฑํ๊ธฐ ์ํด์ ์ฃผ์ด์ง n์์ 1์ฉ ๋๋ ค๊ฐ๋ฉฐ ์กฐ๊ฑด2๋ฅผ ๋ง์กฑํ ๊ฒฝ์ฐ break๋ฅผ ๊ฑธ์๋ค. def solution(n): answer = 0 num = n+1 while True : bin_n = bin(n) bin_num = bin(num) if bin_n.count("1") == bin_num.count("1") : answer = num break else : num += 1 return answer Progammers ํ๋ก๊ทธ๋๋จธ์ค - [์ฒด์ก๋ณต] Python ํ์ด์ฌ ํ์ด https://school.programmers.co.kr/learn/courses/30/lessons/42862# ๐ ๋ฌธ์ ๐ซ ์ ํ ์ฌํญ โ๏ธ ์ ์ถ๋ ฅ ๐ก ํ์ด ๋ฌธ์ ์กฐ๊ฑด์์ '์ฌ๋ฒ ์ฒด์ก๋ณต์ ๊ฐ์ ธ์จ ํ์์ด ๋๋๋นํ์ ์ ์๋ค' ๋ผ๊ณ ํ๊ธฐ ๋๋ฌธ์ lost์ reserve์์ ์ค๋ณต๋๋ ๊ฒ๋ค์ ์ ๊ฑฐํด์ผ ํ๋ค. ์ฒ์์๋ ๊ทธ๋ฅ for๋ฌธ์์ ์ค๋ณต ์ฌ๋ถ๋ง ๋ฐ์ ธ remove๋ฅผ ์ฌ์ฉํด ์ ๊ฑฐํ๋ค. ์ ์ถํ๋ 90%๋ง ๋ง๊ณ ์ผ๋ถ ํ ์คํธ์ผ์ด์ค์๋ ์คํจ๊ฐ ๋์๋ค. ํด๊ฒฐ ๋ฐฉ๋ฒ์ ๋ฐฐ์ด์ ์๋ก ์์ฑํด ์ญ์ ํ์ง ์์ ๋ฒํธ๋ค๋ง ๋ฃ์ด ๋ฐฐ์ด์ ๋ค์ ๊ฐฑ์ ํ๋ ๊ฒ์ด๋ค. ๋๋ new_lost๋ฅผ ์๋ก ์์ฑํด reserve์ ์๋ ๋ฒํธ๋ค์ ์ ๋ฐฐ์ด์ ์ ์ฅํ๋ค. ๊ทธ๋ฆฌ๊ณ ์์ ์ ๊ธฐ์ค์ผ๋ก i-1, i+1์ ํ์ธํด ์ฒด์ก๋ณต์ ๋น๋ฆด ์ ์๋ค๋ฉด lost์์ ํด๋น.. Progammers ํ๋ก๊ทธ๋๋จธ์ค - [๋๋ง์ ์ํธ] Python ํ์ด์ฌ ํ์ด https://school.programmers.co.kr/learn/courses/30/lessons/155652 ๐ ๋ฌธ์ ๐ซ ์ ํ ์ฌํญ โ๏ธ ์ ์ถ๋ ฅ ๐ก ํ์ด a๋ถํฐ z๊น์ง์ ๋ชจ๋ ์ํ๋ฒณ์ ๋ด์ ๋ฌธ์์ด alpha๋ฅผ ๋ง๋ค์๋ค. 1. skipํ ๋จ์ด๋ฅผ alpha ๋ฌธ์์ด์์ ๋ฏธ๋ฆฌ ์ ๊ฑฐํ๊ธฐ 2. s๋ฅผ ๋ฐ๋ณต๋ฌธ์ผ๋ก ๋๋ฉด์ index๋งํผ ๋ค์ ์ํ๋ฒณ์ res์ ๋ถ์ธ๋ค. (z๊ฐ ๋์ค๋ฉด a๋ก ๋ค์ ๋์๊ฐ์ผ ํ๋ฏ๋ก alpha ๋ฌธ์์ด์ ๊ธธ์ด๋งํผ ๋๋์ด ๋๋จธ์ง๋ฅผ ์ธ๋ฑ์ค๋ก ์ฌ์ฉํ๋ค) 3. ๋ฌธ์์ด๋ก return ํด์ผ ํ๋ฏ๋ก join ์ฌ์ฉ def solution(s, skip, index): alpha = 'abcdefghijklmnopqrstuvwxyz' res = [] for i in skip : if i in alpha :.. Progammers ํ๋ก๊ทธ๋๋จธ์ค - [ํ๊ฒ ๋๋ฒ] Python ํ์ด์ฌ ํ์ด https://school.programmers.co.kr/learn/courses/30/lessons/43165 ๐ ๋ฌธ์ n๊ฐ์ ์์ด ์๋ ์ ์๋ค์ด ์์ต๋๋ค. ์ด ์ ์๋ค์ ์์๋ฅผ ๋ฐ๊พธ์ง ์๊ณ ์ ์ ํ ๋ํ๊ฑฐ๋ ๋นผ์ ํ๊ฒ ๋๋ฒ๋ฅผ ๋ง๋ค๋ ค๊ณ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด [1, 1, 1, 1, 1]๋ก ์ซ์ 3์ ๋ง๋ค๋ ค๋ฉด ๋ค์ ๋ค์ฏ ๋ฐฉ๋ฒ์ ์ธ ์ ์์ต๋๋ค. -1+1+1+1+1 = 3 +1-1+1+1+1 = 3 +1+1-1+1+1 = 3 +1+1+1-1+1 = 3 +1+1+1+1-1 = 3 ์ฌ์ฉํ ์ ์๋ ์ซ์๊ฐ ๋ด๊ธด ๋ฐฐ์ด numbers, ํ๊ฒ ๋๋ฒ target์ด ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋ ์ซ์๋ฅผ ์ ์ ํ ๋ํ๊ณ ๋นผ์ ํ๊ฒ ๋๋ฒ๋ฅผ ๋ง๋๋ ๋ฐฉ๋ฒ์ ์๋ฅผ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์. ๐ซ ์ ํ ์ฌํญ โ๏ธ ์ ์ถ.. Progammers ํ๋ก๊ทธ๋๋จธ์ค - [๋ค์ ์๋ ํฐ ์ ์ฐพ๊ธฐ] Python ํ์ด์ฌ ํ์ด https://school.programmers.co.kr/learn/courses/30/lessons/154539 ๐ ๋ฌธ์ ๐ซ ์ ํ ์ฌํญ โ๏ธ ์ ์ถ๋ ฅ ์ ์ถ๋ ฅ ์ #1 2์ ๋ท ํฐ์๋ 3์ ๋๋ค. ์ฒซ ๋ฒ์งธ 3์ ๋ท ํฐ์๋ 5์ ๋๋ค. ๋ ๋ฒ์งธ 3 ๋ํ ๋ง์ฐฌ๊ฐ์ง์ ๋๋ค. 5๋ ๋ท ํฐ์๊ฐ ์์ผ๋ฏ๋ก -1์ ๋๋ค. ์ ์๋ค์ ์ฐจ๋ก๋๋ก ๋ฐฐ์ด์ ๋ด์ผ๋ฉด [3, 5, 5, -1]์ด ๋ฉ๋๋ค. ๐ก ํ์ด ์์ ๋ณด๋ค ํฌ๋ฉด์ ๊ฐ๊น์ด ์๋ ์๋ฅผ answer์ ์ ์ฅํด์ผ ํ๋ค. numbers์ ๋ง์ง๋ง ์๋ ๋น๊ต ๋์์ด ์์ผ๋ฏ๋ก result์ ๋ง์ง๋ง์ ํญ์ -1์ด ๋ ๊ฒ์ด๋ค. ์ฒ์์๋ ์ด์ค for๋ฌธ์ ์ฌ์ฉํด ํ์๋ค. ์๊ฐ์ด๊ณผ ๊ฐ ๋ฐ์ํ๋ค. ์๋ฌด๋๋ ์ ํ ์ฌํญ์์ numbers์ numbers[i]์ ํฌ๊ธฐ๋ฅผ ํฌ๊ฒ ์ก์์ ๊ทธ๋ฐ ๊ฒ ๊ฐ๋ค. ์ดํ, .. Programmers ํ๋ก๊ทธ๋๋จธ์ค - [๋ฌ๋ฆฌ๊ธฐ ๊ฒฝ์ฃผ] Python ํ์ด์ฌ ํ์ด https://school.programmers.co.kr/learn/courses/30/lessons/178871 ๐ ๋ฌธ์ ๐ซ ์ ํ ์ฌํญ โ๏ธ ์ ์ถ๋ ฅ ๐ก ํ์ด ์ฒ์์๋ res ๋ฆฌ์คํธ ์ ์ธ๊ณผ callings์ ๋ฐ๋ณต๋ฌธ ๋๋ฌธ์ ์๊ฐ์ด๊ณผ ๊ฐ ๋์๋ค. ์ฝ๋๋ฅผ ์๋ฌด๋ฆฌ ๊ฐ๊ฒฐํ๊ฒ ์ง๋ ์๊ฐ์ด๊ณผ ๊ฐ ๋์ค๊ธธ๋ ๋ค๋ฅธ ์ ๋ต์ ๋ถ๋ค์ ํ์ด๋ฅผ ์ฐธ๊ณ ํด๋ณด๋ ๊ฑฐ์ ๋๋ถ๋ถ์ res๋ฅผ ๋์ ๋๋ฆฌ๋ก ์ ๊ทผ์ ํ๋ค. res๋ฅผ ๋์ ๋๋ฆฌ๋ก ๋ณ๊ฒฝํ ๊ฒ ์ธ์๋ ์๊ฐํ ์๊ณ ๋ฆฌ์ฆ์ด ๋ง์๋ค. python์์ ์ฌ์ฉํ ์ ์๋ swap์ ํ์๋ค. def solution(players, callings): res = {player: i for i, player in enumerate(players)} for i in callings: idx = res[i] r.. ์ด์ 1 ๋ค์