2022. 7. 20. 00:41ใCoding Test/BOJ
๐๋ฌธ์ ๋ณด๋ฌ๊ฐ๊ธฐ
๋ฌธ์ ์ค๋ช
์ด๋ ๋ , ๋ฏธ๋ฅด์ฝ๋ ์ฐ์ฐํ ๊ธธ๊ฑฐ๋ฆฌ์์ ์์ N์ ๋ณด์๋ค. ๋ฏธ๋ฅด์ฝ๋ 30์ด๋ ์๋ฅผ ์กด๊ฒฝํ๊ธฐ ๋๋ฌธ์, ๊ทธ๋ ๊ธธ๊ฑฐ๋ฆฌ์์ ์ฐพ์ ์์ ํฌํจ๋ ์ซ์๋ค์ ์์ด 30์ ๋ฐฐ์๊ฐ ๋๋ ๊ฐ์ฅ ํฐ ์๋ฅผ ๋ง๋ค๊ณ ์ถ์ดํ๋ค.
๋ฏธ๋ฅด์ฝ๋ฅผ ๋์ ๊ทธ๊ฐ ๋ง๋ค๊ณ ์ถ์ดํ๋ ์๋ฅผ ๊ณ์ฐํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ๋ผ.
์ ๋ ฅ
N์ ์ ๋ ฅ๋ฐ๋๋ค. N๋ ์ต๋ 105๊ฐ์ ์ซ์๋ก ๊ตฌ์ฑ๋์ด ์์ผ๋ฉฐ, 0์ผ๋ก ์์ํ์ง ์๋๋ค.
์ถ๋ ฅ
๋ฏธ๋ฅด์ฝ๊ฐ ๋ง๋ค๊ณ ์ถ์ดํ๋ ์๊ฐ ์กด์ฌํ๋ค๋ฉด ๊ทธ ์๋ฅผ ์ถ๋ ฅํ๋ผ. ๊ทธ ์๊ฐ ์กด์ฌํ์ง ์๋๋ค๋ฉด, -1์ ์ถ๋ ฅํ๋ผ.
์์ ์ ์ถ๋ ฅ
ํ์ด ์ ๋ต
์ ์๋ก ์ ๋ํ ์ง์์ด ๋ถ์กฑํด์ ํ ๋ฒ ์์๋ดค์์ต๋๋ค. 11 ์ด์์ ์์ ๋ํด์๋ ์ ๋ณด๊ฐ ๋ณ๋ก ์๋๊ตฐ์.
๊ทธ๋์ 3์ ๋ฐฐ์์ 10์ ๋ฐฐ์ ํ๋ณ๋ฒ์ ์ด์ฉํ์ฌ ํ์ด ๋ณด์์ต๋๋ค.
ํ์ํ ์ง์
3์ ๋ฐฐ์ ํ๋ณ๋ฒ
๊ฐ ์๋ฆฟ์์ ํฉ์ด 3์ ๋ฐฐ์์ด๋ฉด ๊ทธ ์๋ 3์ ๋ฐฐ์๊ฐ ๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด 80875542 ๋ผ๋ ์๋ฅผ ํ๋ณํด๋ด ์๋ค.
8 + 0 + 8 + 7 + 5 + 5 + 4 + 2 = 39 # 39๋ 3์ ๋ฐฐ์
10์ ๋ฐฐ์ ํ๋ณ๋ฒ
์ด๊ฑด ์ ์์ค ๊ฒ๋๋ค. ์ผ์ ์๋ฆฌ ์๊ฐ 0์ด๋ฉด ๋ฉ๋๋ค.
310 # 10์ ๋ฐฐ์
ํด๊ฒฐ ์ ๋ต
- ์ฃผ์ด์ง ์๋ฅผ ์ด๋ฃจ๋ ์ซ์๋ค ์ค์ 0์ด ์๋ค๋ฉด 10์ ๋ฐฐ์ ์กฐ๊ฑด์ ์ถฉ์กฑํ ์ ์์ผ๋ฏ๋ก -1 ์ถ๋ ฅ
- ์ฃผ์ด์ง ์์ ๊ฐ ์๋ฆฟ์๋ค์ ํฉ์ด 3์ ๋ฐฐ์๊ฐ ์๋๋ผ๋ฉด 3์ ๋ฐฐ์๊ฐ ์๋๋ฏ๋ก -1 ์ถ๋ ฅ
- ์ ๋ ๊ฒฝ์ฐ๊ฐ ์๋๋ผ๋ฉด, ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌํ ์ซ์๊ฐ 30์ ๊ฐ์ฅ ํฐ ๋ฐฐ์
์์ค ์ฝ๋ ๋ฐ ๊ฒฐ๊ณผ
N = input()
numbers = []
sumNum = 0
for charNum in N:
intNum = int(charNum)
numbers.append(int(intNum))
sumNum += intNum
if (0 not in numbers) or (sumNum % 3 != 0):
print(-1)
exit()
numbers.sort(reverse = True) # ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌ
result = "".join(map(str, numbers)) # ์ ์ ๋ฆฌ์คํธ -> ๋ฌธ์์ด ๋ณํ
print(result)
์ญ์ ์ํ ์ง์ ๊ธฐ๋ฐ์ด ํผํผํด์ผ ์๊ณ ๋ฆฌ์ฆ ์๊ฐ๋ ์ํ๋ ๋ด ๋๋ค. (์ ๋ ๋ถ์กฑํ๋ค๋ ์๋ฏธ์ ๋๋ค.)
์ ๋ณด๋ค 2๋ฐฐ ๋น ๋ฅธ ์๋๋ฅผ ์๋ํ๋ ๋ถ์ ์ฝ๋๋ฅผ ์ดํด๋ณด๋, 0 ~ 9 ๊น์ง์ ๊ฐ ์ซ์์ ๊ฐ์๋ฅผ ์นด์ดํธํ์ จ๋ค์.
์ญ์ ๋จ์ ์ฝ๋ ๋ณด๋ฉด์ ์ฝ๋ ๋ฆฌ๋ทฐํ๋ ๊ฒ๋ ์ฌ๋ฐ์ต๋๋ค. ๋ค์ํ ์๊ฐ๋ค์ ๋ณด๋ฉฐ, ์ ๋ณด๋ค ๋ฐ์ด๋ ์ฌ๋๋ค์ ๋ณด๊ณ ๋ฐฐ์ธ ๊ฒ ๋ง์ผ๋๊น์.
'Coding Test > BOJ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[BOJ] 2869๋ฒ | ๋ฌํฝ์ด๋ ์ฌ๋ผ๊ฐ๊ณ ์ถ๋ค (C++) (0) | 2023.04.07 |
---|---|
[BOJ] 11404๋ฒ | ํ๋ก์ด๋ (Python3) (0) | 2022.09.15 |
[BOJ] 13305๋ฒ | ์ฃผ์ ์ (Python3) (2) | 2022.07.14 |
[BOJ] 10162๋ฒ | ์ ์๋ ์ธ์ง (Python3) (0) | 2022.07.14 |
[BOJ] 2217๋ฒ | ๋กํ (Python3) (0) | 2022.07.14 |