728x90
๋ฐ์ํ
"""
0๊ณผ 1๋ก ์ด๋ฃจ์ด์ง ์ด๋ค ๋ฌธ์์ด x์ ๋ํ ์ด์ง ๋ณํ์ ๋ค์๊ณผ ๊ฐ์ด ์ ์ํฉ๋๋ค.
x์ ๋ชจ๋ 0์ ์ ๊ฑฐํฉ๋๋ค.
x์ ๊ธธ์ด๋ฅผ c๋ผ๊ณ ํ๋ฉด, x๋ฅผ "c๋ฅผ 2์ง๋ฒ์ผ๋ก ํํํ ๋ฌธ์์ด"๋ก ๋ฐ๊ฟ๋๋ค.
x = "0111010"์ด๋ผ๋ฉด, x์ ์ด์ง ๋ณํ์ ๊ฐํ๋ฉด x = "0111010" -> "1111" -> "100" ์ด ๋ฉ๋๋ค.
0๊ณผ 1๋ก ์ด๋ฃจ์ด์ง ๋ฌธ์์ด s๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง๋๋ค.
s๊ฐ "1"์ด ๋ ๋๊น์ง ๊ณ์ํด์ s์ ์ด์ง ๋ณํ์ ๊ฐํ์ ๋,
์ด์ง ๋ณํ์ ํ์์ ๋ณํ ๊ณผ์ ์์ ์ ๊ฑฐ๋ ๋ชจ๋ 0์ ๊ฐ์๋ฅผ ๊ฐ๊ฐ ๋ฐฐ์ด์ ๋ด์
return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
"""
def solution(s):
result = [0, 0]
while s != '1':
result = [result[0] + 1, result[1] + s.count('0')]
s = bin(len(s.replace('0', '')))[2:]
return result
"""
s ๊ฐ '1'์ด ๋ ๋๊น์ง while๋ฌธ์ ๋๋ฆฐ๋ค.
result์ [0]์ while๋ฌธ์ ๋๋ฆฐ ํ์, ์์ ๋ฒ๋ฆฐ 0์ ๊ฐ์์ด๋ค.
๊ทธ๋์ while๋ฌธ์ ํ๋ฒ ๋๋๋ง๋ค [0]์ 1์ ๋ํด์ฃผ์๊ณ
[1]์๋ ์์ ๋ฒ๋ฆด 0์ ๊ฐ์๋ฅผ ๋ํด์ฃผ์๋ค.
๊ทธ๋ค์ s์์ '0'์ ์ง์ฐ๊ณ , s์ ๊ธธ์ด๋ฅผ ๊ตฌํ๋ค์
์ด์ง์๋ก ๋ฐ๊ฟ์ฃผ์๋ค. bin์ 0b@@@@๋ก ๋ฐ๋๊ธฐ ๋๋ฌธ์ [2:]๋ก 0b๋ฅผ ์ง์ ๋ค.
"""
728x90
๋ฐ์ํ
'๐ผ๐ก๐๐ค๐ง๐๐ฉ๐๐ข > ๐๐ง๐ค๐๐ง๐๐ข๐ข๐๐ง๐จ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ๋ก๊ทธ๋๋จธ์ค '๋ค์ ํฐ ์ซ์' ํ์ด์ฌ ํ์ด (0) | 2023.02.21 |
---|---|
ํ๋ก๊ทธ๋๋จธ์ค 'ํผ๋ณด๋์น ์' ํ์ด์ฌ ํ์ด (0) | 2023.02.21 |
ํ๋ก๊ทธ๋๋จธ์ค 'JadenCase ๋ฌธ์์ด ๋ง๋ค๊ธฐ' ํ์ด์ฌ ํ์ด (0) | 2023.02.21 |
ํ๋ก๊ทธ๋๋จธ์ค 'ํธ๋ํ์ดํธ ๋ํ' ํ์ด์ฌ ํ์ด (0) | 2023.02.20 |
ํ๋ก๊ทธ๋๋จธ์ค ํ์๋ฒ(greedy) '์ฒด์ก๋ณต' ํ์ด์ฌ ํ์ด (0) | 2023.02.19 |
๋๊ธ