๐๏ธ Algorithm/๐ฉ ๋ฐฑ์ค
[๋ฐฑ์ค] (Python) 10610๋ฒ_30
Dbswnstjd
2022. 2. 20. 22:06
https://www.acmicpc.net/problem/10610
10610๋ฒ: 30
์ด๋ ๋ , ๋ฏธ๋ฅด์ฝ๋ ์ฐ์ฐํ ๊ธธ๊ฑฐ๋ฆฌ์์ ์์ N์ ๋ณด์๋ค. ๋ฏธ๋ฅด์ฝ๋ 30์ด๋ ์๋ฅผ ์กด๊ฒฝํ๊ธฐ ๋๋ฌธ์, ๊ทธ๋ ๊ธธ๊ฑฐ๋ฆฌ์์ ์ฐพ์ ์์ ํฌํจ๋ ์ซ์๋ค์ ์์ด 30์ ๋ฐฐ์๊ฐ ๋๋ ๊ฐ์ฅ ํฐ ์๋ฅผ ๋ง๋ค๊ณ ์ถ์ดํ
www.acmicpc.net
ํ์ด
๋ด ํ์ด
# ๋ฐฑ์ค 10610๋ฒ ๋ฌธ์ - 30
n = list(input())
new_list = []
for i in n:
new_list.append(int(i))
if 0 in new_list:
new_list.sort(reverse=True)
for j in range(len(new_list)):
new_list[j] = str(new_list[j])
new_list = ''.join(new_list)
print((new_list))
else:
print(-1)
์ฒ์์๋ ์ด๋ ๊ฒ ๋ณต์กํ๊ฒ ํ์๋๋ฐ ๋ต์ด ํ๋ ค์
๋ค๋ฅธ ์ฌ๋๋ค ๊ฒ์ ํ์ธํด ๋ดค๋๋ ๋ด๊ฐ ๋๋ฌด ๋ณต์กํ๊ฒ ์๊ฐํ๊ณ ์์๋ค.
์ ๋ต
# ๋ฐฑ์ค 10610๋ฒ ๋ฌธ์ - 30
n = list(input())
answer = -1
if min(n) == '0':
max_num = sorted(n, reverse=True)
max_num = int(''.join(max_num))
if max_num % 3 == 0:
answer = max_num
print(answer)
1. n์ 0์ด ์กด์ฌ ํด์ผ 30์ ๋ฐฐ์๊ฐ ๋์ค๊ธฐ ๋๋ฌธ์ 0์ด ์กด์ฌ ํ๋์ง ํ์ธ
2. max_num ์ ๋ง๋ค๊ธฐ ์ํด ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌ ํ ๋ฆฌ์คํธ join
3. ๊ทธ ์๊ฐ 3์ ๋ฐฐ์์ธ์ง ์๋์ง ํ์ธ
4. ์ถ๋ ฅ
๊ฐ๋จํ ํ์ด
import sys
input = sys.stdin.readline
N = input().rstrip()
if "0" in N and sum(map(int, N)) % 3 == 0:
print("".join(reversed(sorted(N))))
else:
print(-1)