728x90
๐ ๋ฐฑ์ค 3460 - ์ด์ง์
โก๏ธ ๋์ ํ์ด
1์ ์์น๋ฅผ ์ฐพ์ผ๋ฉด ๋๋ ๋ฌธ์ ์ด๊ณ ์
๋ ฅ์ bin
ํจ์๋ก ๋ณํํ๋๋ฐ ์ค์ํ ์ ์, bin
ํจ์๋ฅผ ์ฌ์ฉํ๊ฒ ๋๋ฉด ob1010
์ฒ๋ผ ๋ฌธ์์ด๋ก ์ถ๋ ฅํ๋ค. ๋ฐ๋ผ์, ์กฐ๊ฑด๋ฌธ์ ์ฌ์ฉํ ๋ 1
๋์ '1'
์ ์ฌ์ฉํ๋๋ก ํ์.
๊ทธ๋ฆฌ๊ณ ๋ค๋ฅธ ์ฌ๋์ ์ฝ๋๋ฅผ ๋ณด๋ค๊ฐ ๋ฆฌ์คํธ๋ฅผ ๊ฑฐ๊พธ๋ก ์ฌ์ฉํด์ผ ํ๋ ๊ฒฝ์ฐ range(n-1, -1, -1)
๋์ ์ถ๋ ฅ๋ถ๋ถ์ [-i-1]
๋ฅผ ์ฌ์ฉํ๋ค. ์ผ๋ถ๋ก ๋ค์ง์ ํ์ ์์ด ๋จ์ํ๊ฒ ์ถ๋ ฅ๋ง ๋ฐ๊พธ๋ฉด ๋๋ ์ฝ๋์๋ค. ๊ธฐ๋กํด๋๊ณ ์จ๋จน์ด์ผ๊ฒ ๋ค.
728x90
bin
ํจ์๋ฅผ ์ด์ฉํ์ฌ 10์ง์ ํํ์ ์ ๋ ฅ์ 2์ง์ ํํ๋ก ๋ณ๊ฒฝํ๋ค.bin
ํจ์๋ก ๋ณํํ๊ฒ๋๋ฉดob1010
๊ณผ ๊ฐ์ ๊ฐ์ด ๋์ค๋๋ฐ ์ซ์๋ง ์ฌ์ฉํ๊ธฐ ์ํด ์ฌ๋ผ์ด์ฑ์ผ๋ก [2:] ์๋ผ์ค๋ค.- ์ตํ์ ๋นํธ(least significant bit, lsb)์ ์์น๊ฐ 0์ด๋ฏ๋ก, ๋ฆฌ์คํธ๋ฅผ ๊ฑฐ๊พธ๋ก ๋ค์ง๋๋ค.
enumerate
ํจ์๋ฅผ ์ด์ฉํ์ฌvalue
๊ฐ'1'
์ธ ๊ฒฝ์ฐ ํด๋นindex
๋ฅผ ์ถ๋ ฅํด์ค๋ค.
# ๋์ ํ์ด
T = int(input())
for _ in range(T):
n = bin(int(input()))[2:]
for idx, val in enumerate(n[::-1]):
if val == '1':
print(idx, end=' ')
# ๋ค๋ฅธ์ฌ๋์ ํ์ด
T = int(input())
for _ in range(T):
n = bin(int(input()))[2:]
for i in range(len(n)):
if n[-i - 1] == '1':
print(i, end=' ')
๋ฐ์ํ
'Algorithm > ๋ฐฑ์ค(BOJ)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ ํ์ด์ฌ(python) ] ๋ฐฑ์ค 1157 - ๋จ์ด ๊ณต๋ถ (0) | 2021.05.13 |
---|---|
[ ํ์ด์ฌ(python) ] ๋ฐฑ์ค 2231 - ๋ถํดํฉ (1) | 2021.05.12 |
[ ํ์ด์ฌ(python) ] ๋ฐฑ์ค 5598 - ์นด์ด์ฌ๋ฅด ์ํธ (0) | 2021.05.11 |
[ ํ์ด์ฌ(python) ] ๋ฐฑ์ค 2948 - 2009๋ (0) | 2021.05.11 |
[ ํ์ด์ฌ(python) ] ๋ฐฑ์ค 2167 - 2์ฐจ์ ๋ฐฐ์ด์ ํฉ (0) | 2021.05.10 |
๋๊ธ