-
[๋ฐฑ์ค] 3943 ํค์ผ์คํค์์ด with PythonPS 2023. 4. 4. 17:09728x90๋ฐ์ํ
๐ BOJ 3943 ํค์ผ์คํค์์ด
๐ก ์กฐ๊ฑด
ํค์ผ์คํค ์์ด์ ์๋์ ๊ฐ์ด ์ ์ํ๋ค.
- n์ด ์ง์๋ผ๋ฉด, 2๋ก ๋๋๋ค.
- n์ด ํ์๋ผ๋ฉด, 3์ ๊ณฑํ ๋ค 1์ ๋ํ๋ค.
ํค์ผ์คํค ์ถ์ธก์ ์์์ ์์ ์ ์ n์ผ๋ก ์์ด์ ์์ํ๋ค๋ฉด, ํญ์ 4, 2, 1, 4, 2, 1,...๋ก ๋๋๋ค๋ ์ถ์ธก์ด๋ค.
์ด ๋ฌธ์ ์์๋ 1์ด ๋์ค๋ฉด ์์ด์ด ๋๋ ๊ฒ์ผ๋ก ์ฒ๋ฆฌํ๋ค.
n์ด ์ฃผ์ด์ก์ ๋, ์ด ์์ด์์ ๊ฐ์ฅ ํฐ ๊ฐ์ ์ฐพ์ ์ถ๋ ฅํ๋ ๋ฌธ์
์ฒซ์งธ ์ค์ ํ ์คํธ ์ผ์ด์ค์ ๊ฐ์ T(1 โค T โค 100,000)๊ฐ ์ฃผ์ด์ง๋ค.
๋ค์ ์ค๋ถํฐ T๊ฐ์ ์ค์๋ ํค์ผ์คํค ์์ด์ ์์๊ฐ n์ด ์ฃผ์ด์ง๋ค. (1 โค n โค 100,000)๊ตฌํ, ์๋ฎฌ๋ ์ด์ ์ ํ์จ ๋ฌธ์
๐ ์์ ๋ฐ ์คํ๊ฒฐ๊ณผ
์์ 1
4 1 3 9999 100000
์คํ๊ฒฐ๊ณผ 1
1 16 101248 100000
โจ๏ธ ๋ฌธ์ ํ์ด
์ด ๋ฌธ์ ์์๋ ํค์ผ์คํค ์์ด์ ๋ง๋ค๊ธฐ ์ํด ๊ณ์ฐํ๋ฉด์ ๋์จ ๊ฒฐ๊ณผ๊ฐ์ด 1์ด ๋์ค๋ฉด ๋ฐ๋ณต๋ฌธ์ ์ข ๋ฃํ๋ฉด ๋๋ค.
n์ผ๋ก ์ ๋ ฅ ๋ฐ์ ์๋ฅผ ํค์ผ์คํค ์์ด์ ์ ์ฅํ ๋ฆฌ์คํธ์ ๋ฃ๊ณ , ๊ฒฐ๊ณผ๊ฐ์ ๊ณ์ ๋ฃ์ด์ค๋ค.
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))
๋ฐ์ํ'PS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 9656 ๋ ๊ฒ์2 with Python (0) 2023.04.04 [๋ฐฑ์ค] 9655 ๋ ๊ฒ์ with Python (0) 2023.04.04 [๋ฐฑ์ค] 1652 ๋์ธ ์๋ฆฌ๋ฅผ ์ฐพ์๋ผ with Python (0) 2023.04.03 [๋ฐฑ์ค] 1789 ์๋ค์ ํฉ with Python (0) 2023.04.03 [๋ฐฑ์ค] 10419 ์ง๊ฐ with Python (0) 2023.04.03