ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [๋ฐฑ์ค€] 3943 ํ—ค์ผ์Šคํ†ค์ˆ˜์—ด with Python
    PS 2023. 4. 4. 17:09
    728x90
    ๋ฐ˜์‘ํ˜•

    ๐Ÿ“Œ BOJ 3943 ํ—ค์ผ์Šคํ†ค์ˆ˜์—ด

    ๐Ÿ’ก ์กฐ๊ฑด

    1. ํ—ค์ผ์Šคํ†ค ์ˆ˜์—ด์€ ์•„๋ž˜์™€ ๊ฐ™์ด ์ •์˜ํ•œ๋‹ค.

      • n์ด ์ง์ˆ˜๋ผ๋ฉด, 2๋กœ ๋‚˜๋ˆˆ๋‹ค.
      • n์ด ํ™€์ˆ˜๋ผ๋ฉด, 3์„ ๊ณฑํ•œ ๋’ค 1์„ ๋”ํ•œ๋‹ค.
    2. ํ—ค์ผ์Šคํ†ค ์ถ”์ธก์€ ์ž„์˜์˜ ์–‘์˜ ์ •์ˆ˜ n์œผ๋กœ ์ˆ˜์—ด์„ ์‹œ์ž‘ํ•œ๋‹ค๋ฉด, ํ•ญ์ƒ 4, 2, 1, 4, 2, 1,...๋กœ ๋๋‚œ๋‹ค๋Š” ์ถ”์ธก์ด๋‹ค.

    3. ์ด ๋ฌธ์ œ์—์„œ๋Š” 1์ด ๋‚˜์˜ค๋ฉด ์ˆ˜์—ด์ด ๋๋‚œ ๊ฒƒ์œผ๋กœ ์ฒ˜๋ฆฌํ•œ๋‹ค.

    4. n์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, ์ด ์ˆ˜์—ด์—์„œ ๊ฐ€์žฅ ํฐ ๊ฐ’์„ ์ฐพ์•„ ์ถœ๋ ฅํ•˜๋Š” ๋ฌธ์ œ

    5. ์ฒซ์งธ ์ค„์— ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์˜ ๊ฐœ์ˆ˜ T(1 โ‰ค T โ‰ค 100,000)๊ฐ€ ์ฃผ์–ด์ง„๋‹ค.
      ๋‹ค์Œ ์ค„๋ถ€ํ„ฐ T๊ฐœ์˜ ์ค„์—๋Š” ํ—ค์ผ์Šคํ†ค ์ˆ˜์—ด์˜ ์‹œ์ž‘๊ฐ’ n์ด ์ฃผ์–ด์ง„๋‹ค. (1 โ‰ค n โ‰ค 100,000)

    6. ๊ตฌํ˜„, ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ์œ ํ˜•์จ ๋ฌธ์ œ

    ๐Ÿ”– ์˜ˆ์ œ ๋ฐ ์‹คํ–‰๊ฒฐ๊ณผ

    ์˜ˆ์ œ 1

    4
    1
    3
    9999
    100000

    ์‹คํ–‰๊ฒฐ๊ณผ 1

    1
    16
    101248
    100000

    โŒจ๏ธ ๋ฌธ์ œ ํ’€์ด

    1. ์ด ๋ฌธ์ œ์—์„œ๋Š” ํ—ค์ผ์Šคํ†ค ์ˆ˜์—ด์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ๊ณ„์‚ฐํ•˜๋ฉด์„œ ๋‚˜์˜จ ๊ฒฐ๊ณผ๊ฐ’์ด 1์ด ๋‚˜์˜ค๋ฉด ๋ฐ˜๋ณต๋ฌธ์„ ์ข…๋ฃŒํ•˜๋ฉด ๋œ๋‹ค.

    2. n์œผ๋กœ ์ž…๋ ฅ ๋ฐ›์€ ์ˆ˜๋ฅผ ํ—ค์ผ์Šคํ†ค ์ˆ˜์—ด์„ ์ €์žฅํ•  ๋ฆฌ์ŠคํŠธ์— ๋„ฃ๊ณ , ๊ฒฐ๊ณผ๊ฐ’์„ ๊ณ„์† ๋„ฃ์–ด์ค€๋‹ค.

    3. n ์ด ๊ฒฐ๊ตญ 1์ด ๋˜์—ˆ์„ ๋•Œ, ๋ฐ˜๋ณต๋ฌธ์„ ์ข…๋ฃŒํ•˜๊ณ , ํ—ค์ผ์Šคํ†ค ์ˆ˜์—ด๋กœ ๋งŒ๋“ค์–ด ๋†“์€ ๋ฆฌ์ŠคํŠธ์—์„œ ๊ฐ€์žฅ ํฐ ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

    ๐Ÿ–ฅ ์†Œ์Šค ์ฝ”๋“œ

    from sys import stdin
    
    for _ in range(int(stdin.readline())):
        n = int(stdin.readline())
        arr = [n]
    
        while n != 1:
            if n % 2 == 0:
                n //= 2
            else:
                n = n * 3 + 1
    
            arr.append(n)
    
        print(max(arr))
    ๋ฐ˜์‘ํ˜•

    ๋Œ“๊ธ€

Designed by Tistory.