ํ‹ฐ์Šคํ† ๋ฆฌ ๋ทฐ

728x90
๋ฐ˜์‘ํ˜•

๋ฌธ์ œ

 

2745๋ฒˆ: ์ง„๋ฒ• ๋ณ€ํ™˜

B์ง„๋ฒ• ์ˆ˜ N์ด ์ฃผ์–ด์ง„๋‹ค. ์ด ์ˆ˜๋ฅผ 10์ง„๋ฒ•์œผ๋กœ ๋ฐ”๊ฟ” ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. 10์ง„๋ฒ•์„ ๋„˜์–ด๊ฐ€๋Š” ์ง„๋ฒ•์€ ์ˆซ์ž๋กœ ํ‘œ์‹œํ•  ์ˆ˜ ์—†๋Š” ์ž๋ฆฌ๊ฐ€ ์žˆ๋‹ค. ์ด๋Ÿฐ ๊ฒฝ์šฐ์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์•ŒํŒŒ๋ฒณ ๋Œ€๋ฌธ์ž๋ฅผ 

www.acmicpc.net

 

๋ฌธ์ œ ํ’€์ด

 ์ง„๋ฒ• ๋ณ€ํ™˜์„ ํ•˜๊ธฐ ์œ„ํ•ด์„  ๊ฐ ์ž๋ฆฌ์— ํ•ด๋‹น ํ•˜๋Š” ์œ„์น˜์— ๋”ฐ๋ผ ์œ„์น˜ ๊ฐ’์„ ์ œ๊ณฑํ•ด์ฃผ๋ฉด ๋œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์˜ˆ์‹œ์™€ ๊ฐ™์€ ZZZZZ์ธ ๊ฒฝ์šฐ๋Š” (35 * 36 ^ 4) + (35 * 36 ^ 3) + (35 * 36 ^ 2) + (35 * 36 ^ 1) + (35 * 36 ^ 0)์˜ ๊ฐ’์ด 10์ง„๋ฒ•์œผ๋กœ ๋ณ€ํ™˜๋œ ๊ฐ’์ด๋‹ค. ๋‹ค๋ฅธ ๋ฌธ์ œ์™€ ๋‹ฌ๋ฆฌ ์•ŒํŒŒ๋ฒณ A - Z๋„ ๊ฐ™์ด ์ž…๋ ฅ๋˜๋ฏ€๋กœ ์ด๋ฅผ ๊ตฌ๋ถ„ํ•˜์—ฌ ์ฒ˜๋ฆฌํ•˜์—ฌ์•ผ ํ•œ๋‹ค.

 

  • isdigit()๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋ฌธ์ž, ์ˆซ์ž๋ฅผ ๊ตฌ๋ถ„ํ•œ๋‹ค.
    • ๋ฌธ์ž์ธ ๊ฒฝ์šฐ A - Z๋Š” ์•„์Šคํ‚ค ์ฝ”๋“œ๋กœ 65 - 90์œผ๋กœ ๋‚˜ํƒ€๋‚  ์ˆ˜ ์žˆ๊ธฐ์— 55๋ฅผ ๋นผ๋ฉด ๋ฌธ์ œ์™€ ๊ฐ™์€ ์ˆ˜๋กœ ๋ณ€ํ™˜๋œ๋‹ค.
  • ๋ฐ˜๋ณต๋ฌธ์„ enumerate๋กœ ๋Œ๋ฉด์„œ ์ธ๋ฑ์Šค์™€ ๊ฐ’์— ๊ฐ™์ด ์ ‘๊ทผํ•˜์—ฌ ์ž๋ฆฌ์— ๋”ฐ๋ฅธ ์ œ๊ณฑ์ฒ˜๋ฆฌ๋ฅผ ํ•ด์ค€๋‹ค.

 

>์ฝ”๋“œ

if __name__ == "__main__":
    n, b = input().split()
    length = len(n)
    b = int(b)
    answer = 0

    for idx, num in enumerate(n):
        change_num = int(num) if num.isdigit() else ord(num) - 55
        answer += change_num * b ** (length - idx - 1)

    print(answer)
728x90
๋ฐ˜์‘ํ˜•
๋Œ“๊ธ€
๊ธ€ ๋ณด๊ด€ํ•จ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€