MapleStory Finger Point

๐Ÿƒ‍โ™‚๏ธBaekjoon/Python

#11005 ์ง„๋ฒ• ๋ณ€ํ™˜ 2- python

HYEJU01 2024. 4. 27. 20:31

๐Ÿ’ก 10์ง„์ˆ˜ -> N์ง„์ˆ˜ ๋ณ€ํ™˜๋ฒ•

 

 

 

๐Ÿ’ก 10์ง„์ˆ˜ -> N์ง„์ˆ˜ ๋ณ€ํ™˜๋ฒ•์„ ์ฝ”๋“œ๋กœ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ์•Œ์•„์•ผ ํ•  ๊ฒƒ

 

N, B = map(int,input().split())
str = [] 
arr = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"

while N != 0:
    str.append(arr[N%B])
    N = N // B

print(*str[::-1], sep="")

 

๐Ÿ’ฌ arr[index] : ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ•ด๋‹น ์œ„์น˜์˜ ์š”์†Œ๋ฅผ ์„ ํƒํ•œ๋‹ค.

๐Ÿ’ฌ str[::-1] : ๋ฆฌ์ŠคํŠธ๋‚˜ ๋ฌธ์ž์—ด์„ ๊ฑฐ๊พธ๋กœ ๋’ค์ง‘๋Š”๋‹ค.

๐Ÿ’ฌ append() : ๋ฆฌ์ŠคํŠธ์— ์ƒˆ๋กœ์šด ์š”์†Œ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฉ”์„œ๋“œ

 

 

๐Ÿ’ก ์ง„๋ฒ• ๋ณ€ํ™˜ 2 ์ƒ์„ธ์„ค๋ช… !!

 

0)  10์ง„์ˆ˜๋Š” 0~9 ๋ฅผ ์‚ฌ์šฉํ•˜์ง€๋งŒ , 16์ง„์ˆ˜๋Š” 0~ F ๊นŒ์ง€ , 36์ง„์ˆ˜๋Š” 0~Z ๊นŒ์ง€์‚ฌ์šฉํ•˜๋ฏ€๋กœ arr ๋ฅผ ํ†ตํ•ด์„œ 0~Z๋ฅผ ๋ฏธ๋ฆฌ ์ง€์ •ํ•ด์ค€๋‹ค.

1) 10์ง„์ˆ˜๋ฅผ B(์ง„์ˆ˜)๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€    =>  N%B

(+) ์ด๋•Œ 10์ง„๋ฒ• ์ด์ƒ์˜ ์ง„๋ฒ•๋“ค์€ ์•ŒํŒŒ๋ฒณ๋„ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ,  arr[index] ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ•ด๋‹น ์œ„์น˜์˜ ์š”์†Œ๋ฅผ ์„ ํƒํ•ด์ฃผ๋Š” ๋ณ€ํ™˜ ์ž‘์—…์„ ํ•ด์ค€๋‹ค. 

2) ๊ณ„์†ํ•ด์„œ ๋‚˜๋จธ์ง€๋ฅผ ๊ตฌํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋‹ค์Œ์— ์—ฐ์‚ฐํ•  ๋ชซ ๊ฐ’์„ ์ €์žฅํ•ด์ค˜์•ผํ•œ๋‹ค.   => N = N // B

3) ๊ณ„์†ํ•ด์„œ ๋‚˜๋จธ์ง€๋ฅผ ๊ตฌํ•˜๋Š”๋ฐ while -> ์–ธ์ œ๊นŒ์ง€ ๊ตฌํ•˜๋Š”์ง€ ์กฐ๊ฑด์„ ๋„ฃ์–ด์ค˜์•ผํ•จ => ๋ชซ์ด 0์ด ๋ ๋•Œ๊นŒ์ง€ N != 0 

4) ์—ญ์ˆœ์œผ๋กœ ๋‚˜์—ดํ•œ๋‹ค  str [::-1]