Algorithm Problem/Python
[python] ํ๋ก๊ทธ๋๋จธ์ค - ์ด์ง ๋ณํ ๋ฐ๋ณตํ๊ธฐ(์๊ฐ ์ฝ๋ ์ฑ๋ฆฐ์ง ์์ฆ1)
deo2kim
2021. 9. 1. 10:12
๋ฐ์ํ
๐ค๋ฌธ์ ํด๊ฒฐ
- '0'์ด ์ ๊ฑฐ๋ ๊ฐฏ์๋ ํ์ํ๊ธฐ ๋๋ฌธ์ '0'์ ๊ฐ์๋ฅผ ์ ์ฅ
- s์ ๊ธธ์ด์์ 0์ ๊ฐ์๋ฅผ ๋นผ์ฃผ๋ฉด '1'๋ก ๊ตฌ์ฑ๋ s์ ๊ธธ์ด๊ฐ ๋์ด
- ๊ทธ ๊ธธ์ด๋ฅผ 2์ง๋ฒ์ผ๋ก ํํ
- 1-3 ๋ฐ๋ณต
๐จ ์๋ง ์์ฝ์ฑ 1๋ฒ ๋ฌธ์ ์๋๊ฑฐ ๊ฐ๋ค.
๐ป์์ค ์ฝ๋
def solution(s):
cnt, removed_zero_cnt = 0, 0
while s != '1':
# 1. x์ ๋ชจ๋ 0์ ์ ๊ฑฐํ๋ค.
zero_cnt = s.count('0')
# 2. x์ ๊ธธ์ด๋ฅผ c๋ผ๊ณ ํ๋ฉด, x๋ฅผ "c๋ฅผ 2์ง๋ฒ์ผ๋ก ํํํ ๋ฌธ์์ด"๋ก ๋ฐ๊พผ๋ค.
s = bin(len(s) - zero_cnt)[2:]
cnt += 1
removed_zero_cnt += zero_cnt
return [cnt, removed_zero_cnt]
๐๋ฌธ์ ํ์ธ
์ถ์ฒ: ํ๋ก๊ทธ๋๋จธ์ค
๋ฐ์ํ