[BOJ][๐ŸŸก5][๋ฐฑ์ค€#02877] 4์™€ 7

์ž‘์„ฑ:    

์—…๋ฐ์ดํŠธ:

์นดํ…Œ๊ณ ๋ฆฌ:

ํƒœ๊ทธ: , , ,

๋ฌธ์ œ ์ถœ์ฒ˜

BAEKJOON Online Judge #2877


๋ฌธ์ œ

์ฐฝ์˜์ด๋Š” 4์™€ 7๋กœ ์ด๋ฃจ์–ด์ง„ ์ˆ˜๋ฅผ ์ข‹์•„ํ•œ๋‹ค. ์ฐฝ์˜์ด๊ฐ€ ์ข‹์•„ํ•˜๋Š” ์ˆ˜ ์ค‘์— K๋ฒˆ์งธ ์ž‘์€ ์ˆ˜๋ฅผ ๊ตฌํ•ด ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.


์ž…๋ ฅ

์ฒซ์งธ ์ค„์— K(1 โ‰ค K โ‰ค 10^9)๊ฐ€ ์ฃผ์–ด์ง„๋‹ค.


์ถœ๋ ฅ

์ฒซ์งธ ์ค„์— ์ฐฝ์˜์ด๊ฐ€ ์ข‹์•„ํ•˜๋Š” ์ˆซ์ž ์ค‘ K๋ฒˆ์งธ ์ž‘์€ ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.


์˜ˆ์ œ

์˜ˆ์ œ 1

์ž…๋ ฅ

1


์ถœ๋ ฅ

4


์˜ˆ์ œ 2

์ž…๋ ฅ

2


์ถœ๋ ฅ

7


์˜ˆ์ œ 3

์ž…๋ ฅ

3


์ถœ๋ ฅ

44


My Sol

ret = ''
for n in bin(int(input())+1)[3:]:
    ret += '4' if n=='0' else '7'
print(ret)

์ง€๊ธˆ๊นŒ์ง€ ํ’€์—ˆ๋˜ ๊ณจ๋“œ๋ฌธ์ œ ์ค‘์— ๊ฐ€์žฅ ์งง๊ณ , ์† ์‰ฝ๊ฒŒ ํ‘ผ ๋ฌธ์ œ๊ฐ€ ์•„๋‹Œ๊ฐ€ ์‹ถ๋‹ค. ๋ฌธ์ œ๋ฅผ ๋”ฑ ๋ณด์•˜์„ ๋•Œ, ์ž…๋ ฅ์ด ๊ต‰์žฅํžˆ ํฌ๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ถ„ํƒ์ƒ‰์„ ๋จผ์ € ์ƒ๊ฐํ–ˆ๋‹ค๊ฐ€, 2์ง„์ˆ˜์™€ ๊ด€๋ จ๋œ ๋ฌธ์ œ์ธ ๊ฒƒ ๊ฐ™๋‹ค๊ณ  ๋Š๊ผˆ๋‹ค. DP์Šค๋Ÿฌ์šด ์ ‘๊ทผ์œผ๋กœ๋Š”, N๋ฒˆ์งธ๋กœ ํฐ ์ˆ˜ ๋’ค์— 4์™€ 7์„ ๋ถ™์ด๋ฉด 2*N, 2*N+1์ฒ˜๋Ÿผ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์ง€ ์•Š์„๊นŒ๋ฅผ ์ƒ๊ฐํ–ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์ˆœ์„œ๊ฐ€ ์กฐ๊ธˆ์€ ๋‹ฌ๋ž๊ณ , ์ž…๋ ฅ์œผ๋กœ ๋ฐ›์€ N์— 1์„ ๋”ํ•œ ๋’ค 2์ง„์ˆ˜๋กœ ๋ณ€ํ™˜ํ•˜๋ฉด, ์•ž์˜ 1์„ ์ œ์™ธํ•œ ๋‚˜๋จธ์ง€์˜ ๊ทœ์น™์ด ๋งˆ์น˜ 00์ด 44, 101์ด 747์ฒ˜๋Ÿผ ์ง„ํ–‰๋จ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

๋•Œ๋ฌธ์— bin ํ•จ์ˆ˜ ์ฒ˜๋ฆฌํ•˜์—ฌ ์•ž์— ๋ถ™๋Š” bi์™€ 1์„ ์ œ์™ธํ•˜๊ธฐ ์œ„ํ•ด 3๋ฒˆ index๋ถ€ํ„ฐ ๋’ค๋ฅผ ์ž๋ฅธ๋‹ค. ์ด๋ฅผ ๋งค๋ฒˆ ์ˆœํšŒํ•˜๋ฉฐ โ€˜0โ€™์ด๋ฉด 4, ์•„๋‹ˆ๋ฉด 7์„ ret์— ๋ถ™์ด๋ฉฐ ๋‚˜์•„๊ฐ„๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด๋ฅผ ์ถœ๋ ฅํ•˜๋ฉด ๋˜๊ฒ ๋‹ค. ๊ต‰์žฅํžˆ ๊ฐ„๋‹จํ•˜๊ฒŒ ํ’€ ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ์˜€๋‹ค.


๊ฒฐ๊ณผ

๋งž์•˜์Šต๋‹ˆ๋‹ค!!

๋Œ“๊ธ€๋‚จ๊ธฐ๊ธฐ