๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๊ฐœ๋ฐœ/๐™‚๐™ค๐™ค๐™ง๐™ข ๐™‡๐™€๐™‘๐™€๐™‡

[๊ตฌ๋ฆ„๋ ˆ๋ฒจ] 'ํŒŒ์†๋œ ๋žจ' ํŒŒ์ด์ฌ ํ’€์ด

by beomcoder 2023. 6. 22.
728x90
๋ฐ˜์‘ํ˜•
https://level.goorm.io/exam/49074/%ED%8C%8C%EC%86%90%EB%90%9C-%EB%9E%A8/quiz/1
 

๊ตฌ๋ฆ„LEVEL

๊ตฌ๋ฆ„LEVEL ๋ฌธ์ œ๋ฅผ ํ’€์ดํ•˜๊ณ  ๋ถ€์กฑํ•œ ๋ถ€๋ถ„์„ ๋ณด์™„ํ•˜๋ฉฐ ์‹ค๋ ฅ์„ ํ‚ค์›Œ๋ณด์„ธ์š”. ๊ตฌ๋ฆ„LEVEL์€ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ์—์„œ ๊ฐ€์žฅ ๋†’์€ ๋น„์ค‘์„ ์ฐจ์ง€ํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ๋ฅผ ์ œ์ž‘ํ•˜๊ณ  ํ’€์ดํ•  ์ˆ˜ ์žˆ๋Š” ์˜จ๋ผ์ธ ์ €์ง€ ์„œ๋น„์Šค์ž…

level.goorm.io

 

input()
damaged_ram_indexs = [i+1 for i, v in enumerate(map(int, input().split())) if v&(v-1) != 0]

print(len(damaged_ram_indexs))
print(*damaged_ram_indexs)

"""
2์˜ ์ œ๊ณฑ์ˆ˜๊ฐ€ ์•„๋‹Œ๊ฐ’๋“ค์„ ์ฐพ์•„์•ผํ•œ๋‹ค.
2์˜ ์ œ๊ณฑ์ˆ˜๋ฅผ 2์ง„์ˆ˜๋กœ ํ‘œํ˜„ํ•˜๋ฉด 2 -> 10(2), 4 -> 100(2), 8 -> 1000(2) ์œผ๋กœ,
์ฒซ์ž๋ฆฌ๋งŒ 1์ด๊ณ  ๋‚˜๋จธ์ง€๊ฐ€ 0์ด ๋œ๋‹ค. ์—ฌ๊ธฐ์„œ 1์„ ๋บ€๋‹ค๋ฉด ์ฒซ์ž๋ฆฌ๋งŒ 0์ด ๋˜๊ณ ,
0์ด์—ˆ๋˜ ์ž๋ฆฌ๋“ค์ด 1๋กœ ๋ฐ”๋€Œ๊ฒŒ ๋œ๋‹ค. 1 -> 01(2), 3 -> 011(2), 7 -> 0111(2)
๊ทธ๋ž˜์„œ ์ด๊ฐ’์„ and(&)์—ฐ์‚ฐํ•˜๊ฒŒ๋˜๋ฉด 0์ด ๋˜๊ฒŒ ๋œ๋‹ค. 

์†์ƒ๋œ ๋žจ์ธ๋ฑ์Šค๋ฅผ ์ €์žฅ์‹œํ‚ฌ ๋ฆฌ์ŠคํŠธ๋ฅผ ์„ ์–ธํ•˜๊ณ ,
v & (v-1)์ด 0์ด ์•„๋‹ˆ๋ผ๋ฉด 2์˜ ์ œ๊ณฑ์ˆ˜๊ฐ€ ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ธ๋ฑ์Šค๋ฅผ ์ €์žฅ์‹œ์ผœ์ฃผ์—ˆ๋‹ค.
"""
728x90
๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€