๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿ“š Algorithm/9oormthon Challenge

[๊ตฌ๋ฆ„ํ†ค ์ฑŒ๋ฆฐ์ง€ - 9oormthon Challenge] Day 5 ์ด์ง„์ˆ˜ ์ •๋ ฌ

๊ตฌ๋ฆ„ํ†ค ์ฑŒ๋ฆฐ์ง€ 5์ผ์ฐจ - ์ด์ง„์ˆ˜ ์ •๋ ฌ

 

๐Ÿ“œ  ๋ฌธ์ œ 

 

 

โœ๏ธ ์ž…๋ ฅ 

 

 

โœ๏ธ ์ถœ๋ ฅ

 

 

๐Ÿ’ก ํ’€์ด 

10์ง„์ˆ˜๋ฅผ 2์ง„์ˆ˜๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ bin()์„ ์‚ฌ์šฉํ•œ๋‹ค. ๋ฐ˜๋Œ€๋กœ 2์ง„์ˆ˜๋ฅผ 10์ง„์ˆ˜๋กœ ๋ณ€ํ™˜ํ•˜๋ ค๋ฉด int()๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

๋จผ์ €, numlist์•ˆ์— ์žˆ๋Š” 10์ง„์ˆ˜๋“ค์„ 2์ง„์ˆ˜๋กœ ๋ณ€ํ™˜ํ•˜๊ณ , ์—ฌ๊ธฐ์„œ 1์˜ ๊ฐœ์ˆ˜๋ฅผ ์„ธ๊ธฐ ์œ„ํ•ด bin()๊ณผ count๋ฅผ ์‚ฌ์šฉํ–ˆ๋‹ค. 

1์˜ ๊ฐœ์ˆ˜๊ฐ€ ๊ฐ™์„ ๊ฒฝ์šฐ๋„ ๋”ฐ์ ธ์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, bin_num์—๋Š” 1์˜ ๊ฐœ์ˆ˜์™€ 10์ง„์ˆ˜๋ฅผ ๊ฐ™์ด ์ถ”๊ฐ€ํ•ด์คฌ๋‹ค. 

๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ์„ ํ•˜๋ฉด์„œ K๋ฒˆ์งธ 10์ง„์ˆ˜๋ฅผ ์ฐพ๊ธฐ ์œ„ํ•ด index K-1์˜ 1์—์„œ ์ถœ๋ ฅ์„ํ–ˆ๋‹ค.

 

#10์ง„์ˆ˜๋ฅผ 2์ง„์ˆ˜๋กœ ๋ณ€๊ฒฝ -> bin() ์‚ฌ์šฉ
#1์˜ ๊ฐœ์ˆ˜ : count()
N, K = map(int, input().split())
numlist = list(map(int, input().split()))
bin_num = []
for i in numlist :
    #bin_num์— 1์˜๊ฐœ์ˆ˜์™€ 10์ง„์ˆ˜ ๋ชจ๋‘ ์ €์žฅ 
    bin_num.append((list(bin(i)).count('1'),i))


bin_num.sort(reverse = True)    #๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌ 
print(bin_num[K-1][1])  #index๊ฐ’์€ K-1์„ ํ—ค์ค˜์•ผํ•จ

 

 

 

728x90