728x90
[๋ฌธ์ ๋งํฌ] ๐ https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5Pl0Q6ANQDFAUq
์ค๋ช
์ซ์ N์ ์๋์ ๊ฐ๋ค.

N์ด ์ฃผ์ด์ง ๋ a, b, c, d, e ๋ฅผ ์ถ๋ ฅํ๋ผ.
ํ์ด
sol.1
a, b, c, d, e๋ฅผ ๋ด์ ๋ฐฐ์ด์ ์์ฑํ๋ค.
index = [0]*5
์ซ์๊ฐ 1์ด ๋ ๋๊น์ง ์ฆ, ๋ค ๋๋ ์ง ๋๊น์ง ๋ฐ๋ณตํ๋ค.
while num > 1:
if num % 2 == 0:
num //= 2
index[0] += 1
elif num % 3 == 0:
num //= 3
index[1] += 1
...
- 2๋ก ๋๋ ๋๋จธ์ง๊ฐ 0์ผ ๋(2๋ก ๋๋ ์ง ๋) ๋ชซ์ num์ ์ ์ฅํ๋ค.
- ์ฒซ ๋ฒ์งธ ์ธ๋ฑ์ค์ 1์ ์ฆ๊ฐ์ํจ๋ค.
- 2๋ก ๋๋์ด์ง์ง ์์ผ๋ฉด 3์ผ๋ก ๋๋์ด์ง๋์ง ํ์ธํ๋ค.
- 3์ผ๋ก ๋๋์ด์ง๋ฉด ๋ชซ์ num์ ์ ์ฅํ๊ณ , ๋ ๋ฒ์งธ ์ธ๋ฑ์ค์ 1์ ์ฆ๊ฐ์ํจ๋ค.
- ์ด๋ ๊ฒ 11๊น์ง ํ์ธํ๊ณ , ๋ ์ด์ ๋๋์ด์ง์ง ์์ ๋๊น์ง ๋ฐ๋ณตํ๋ค.
sol.2
๋ฐฐ์ด์ ๋๋ ๊ฐ์ ๋ฏธ๋ฆฌ ์ ์ฅํ๋ค. ๊ทธ๋ฆฌ๊ณ ๊ฒฐ๊ณผ๋ฅผ ๋ด์ ๋ฆฌ์คํธ๋ ์์ฑํ๋ค.
index = [2, 3, 5, 7, 11]
result = [0]*5
์์์ ์์ฑํ ๋ฆฌ์คํธ๋ฅผ ํ์ฉ
for i in range(5):
while num % index[i] == 0:
result[i] += 1
num //= index[i]
- ๋จผ์ , ์ฒซ ๋ฒ์งธ ์ธ๋ฑ์ค, ์ซ์๊ฐ 2๋ก ๋๋์ด์ง ๋๊น์ง ๋ฐ๋ณตํ๋ค.
- ๋๋์ง๋ฉด result ์ฒซ ๋ฒ์ฉจ ์ธ๋ฑ์ค์ 1์ ์ฆ๊ฐํ๊ณ , 2๋ก ๋๋ ๋ชซ์ num์ ๋ค์ ์ ์ฅํ๋ค.
- ๊ทธ ๋ค์ ์ธ๋ฑ์ค, ์ซ์๊ฐ 3์ผ๋ก ๋๋์ด์ง ๋๊น์ง ๋ฐ๋ณตํ๋ค.
- ๋๋์ง๋ฉด result ๋ ๋ฒ์ฉจ ์ธ๋ฑ์ค์ 1์ ์ฆ๊ฐํ๊ณ , 3์ผ๋ก ๋๋ ๋ชซ์ num์ ๋ค์ ์ ์ฅํ๋ค.
- ์ด๋ ๊ฒ ๋ง์ง๋ง ์ธ๋ฑ์ค๊น์ง ํ์ธํ๋ค.
Solution
sol.1
test_case = int(input())
for t in range(1, test_case + 1):
num = int(input())
index = [0]*5
while num > 1:
if num % 2 == 0:
num //= 2
index[0] += 1
elif num % 3 == 0:
num //= 3
index[1] += 1
elif num % 5 == 0:
num //= 5
index[2] += 1
elif num % 7 == 0:
num //= 7
index[3] += 1
elif num % 11 == 0:
num //= 11
index[4] += 1
print("#%d" %t, end=' ')
for i in index:
print(i, end=' ')
print()
sol.2
test_case = int(input())
for t in range(1, test_case + 1):
num = int(input())
index = [2, 3, 5, 7, 11]
result = [0]*5
for i in range(5):
while num % index[i] == 0:
result[i] += 1
num //= index[i]
print(f'#{t}', *result)
๐ฉ๐ป ํ๊ณ
์ถ๋ ฅํ ๋ ์ถ๋ ฅ ํ์์ ์ข ๋ ํ์ฉํ์.
print(f'#{t}', *result)
728x90
'๐งฉ Algorithm > SWEA' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [SWEA] 1976. ์๊ฐ ๋ง์ (Python/D2) (0) | 2024.10.16 |
|---|---|
| [SWEA] 1284. ์๋ ์๊ธ ๊ฒฝ์ (Python/D2) (4) | 2024.10.16 |
| [SWEA] 21425. += (Python/D2) (0) | 2024.10.16 |
| [SWEA] 5162. ๋๊ฐ์ง ๋นต์ ๋๋ ๋ง (Python/D2) (2) | 2023.11.19 |
| [SWEA] 4466. ์ต๋ ์ฑ์ ํ ๋ง๋ค๊ธฐ (Python/D2) (1) | 2023.11.19 |