๐ŸŒžAlgorithm/๐Ÿ”ฅBaekjoon

[Baekjoon] 2553_๋งˆ์ง€๋ง‰ ํŒฉํ† ๋ฆฌ์–ผ ์ˆ˜

๋ฟŒ์•ผ._. 2022. 3. 16. 23:05

Silver II

๋ฌธ์ œ(์ถœ์ฒ˜: https://www.acmicpc.net/problem/2553)

<๋งˆ์ง€๋ง‰ ํŒฉํ† ๋ฆฌ์–ผ ์ˆ˜>

๋ฌธ์ œ 

 

N! ์˜ ๊ฐ’์„ ๊ณ„์‚ฐํ•œ ํ›„์—, 0์ด ์•„๋‹Œ ๊ฐ€์žฅ ๋‚ฎ์€ ์ž๋ฆฌ ์ˆ˜๋ฅผ ๊ตฌํ•˜์‹œ์˜ค.
์˜ˆ๋ฅผ ๋“ค์–ด, 4! = 24 ์ด๊ธฐ ๋•Œ๋ฌธ์—, 0์ด ์•„๋‹Œ ๊ฐ€์žฅ ๋‚ฎ์€ ์ž๋ฆฌ ์ˆ˜๋Š” 4์ด๋‹ค. ๋˜, 5! = 120์ด๊ธฐ ๋•Œ๋ฌธ์—, 0์ด ์•„๋‹Œ ๊ฐ€์žฅ ๋‚ฎ์€ ์ž๋ฆฌ ์ˆ˜๋Š” 2์ด๋‹ค.

 

 

์ž…๋ ฅ

 

์ฒซ์งธ ์ค„์— N์ด ์ฃผ์–ด์ง„๋‹ค. N์€ 20,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜์ด๋‹ค.

 

์ถœ๋ ฅ 

 

์ฒซ์งธ ์ค„์— N! ์˜ 0์ด ์•„๋‹Œ ๋งˆ์ง€๋ง‰ ์ž๋ฆฌ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

 

 

๋ฌธ์ œ ํ’€์ด

- my solution

if __name__=='__main__':
    n=int(input())

    result=1
    for i in range(2,n+1): # N! ๊ณ„์‚ฐ
        result*=i

    result=str(result)[::-1] # ๋’ค์ง‘๊ธฐ
    for i in result: # 0์ด ์•„๋‹Œ ๊ฐ€์žฅ ๋‚ฎ์€ ์ž๋ฆฌ ์ˆ˜ ์ถœ๋ ฅ
        if i!='0':
            print(i)
            break

 

  • N ์ž…๋ ฅ
  • N! ๊ณ„์‚ฐ
  • 0์ด ์•„๋‹Œ ๊ฐ€์žฅ ๋‚ฎ์€ ์ž๋ฆฌ ์ˆ˜๋ฅผ ๊ตฌํ•˜๊ธฐ ์œ„ํ•ด N! ๊ฐ’ ๋’ค์ง‘๊ธฐ
  • ๋ฐ˜๋ณต๋ฌธ์„ ํ†ตํ•ด 0์ด ์•„๋‹ˆ๋ฉด ์ถœ๋ ฅ ํ›„ break

์ƒ๊ฐ๐Ÿค”

 

๋‹ค๋ฅธ ๋ฌธ์ œ ํ’€๋‹ค๊ฐ€ ์–ด๋ ค์›Œ์„œ ๋„๋ง ์™”๋‹ค...