๋ฐฑ์ค 2217๋ฒ
https://www.acmicpc.net/problem/10610
๋ฌธ์
ํ๊ธฐ
30์ ๋ฐฐ์์ ๋ํ ๊ท์น์ ์๊ฐํด ๋ณด์๋ค.
์ฐ์ ๋ชจ๋ ์๋ฆฌ์ ํฉ์ด 3์ ๋ฐฐ์์ฌ์ผ ํ๊ณ , ๋์๋ฆฌ๊ฐ ๋ฌด์กฐ๊ฑด 0์ด์ด์ผ ํ๋ค.
์ด ์๊ฐ์ ๊ฐ์ง๊ณ ๋ง๋ค์ด์ง ์ ์๋ ๋ชจ๋ ๊ฒฝ์ฐ์ ์๋ฅผ list์ ๋ฃ์ผ๋ ค๊ณ ํ๋๋ฐ,
์ ๋ ฅ๊ฐ์ธ N์ ๊ฐ์ด 100000์ผ๋ก ์๊ฐ, ๋ฉ๋ชจ๋ฆฌ ์ด๊ณผ๊ฐ ๋ ๊ฒ ๋ปํ๋ค. (์๋๋ ํ์ง ์์๋ค.)
๊ทธ๋ฆฌํ์ฌ ๋ค๋ฅธ ์๊ฐ์ ๋ ์ฌ๋ ค ๋ดค๋๋ฐ, ์์ ์ ๋ ฅ๊ณผ ์ถ๋ ฅ์ ๋ณด๊ณ ํํธ๋ฅผ ์ป์๋ค.
-1์ด ์ถ๋ ฅ๋์ง ์์ ๊ฐ๋ค์ ๋ชจ๋ ์ซ์๊ฐ ๊ฑฐ๊พธ๋ก ์ ๋ ฌ ๋ผ ์๋ ๊ฒ์ด๋ค.
ex) 9875, 310 , (ํฐ์๊ฐ ์์, ์์์๊ฐ ๋ค์)
์ด๋ฅผ ํ ๋๋ก ์๋์ ๊ฐ์ ์ฝ๋๋ฅผ ์งฐ๋๋ ์ฑ๊ณต์ผ๋ก ์ฒ๋ฆฌ๋๋ค.
โโโโโ
๋จ์ง ๊ถ๊ธํ๊ฒ์ ABCDE ๋ผ๋ ์๊ฐ ์๋ค๊ณ ํ์๋,
์ ๋ ฌํ๊ณ ๋์ CBADE๊ฐ ๋๋ค๊ณ ํด๋ณด์.
CBADE๊ฐ 30์ผ๋ก ๋๋์ด ๋จ์ด์ง์ง ์์์ ๊ฒฝ์ฐ์๋ ๋ฐ๋ก -1์ ์ถ๋ ฅํด๋ ์ ๋ต์ผ๋ก ์ธ์ ๋๋ค.
๊ทธ๋ฐ๋ฐ ์, ABCDE๋ก ์กฐํฉํ ์ ์๋ ๋ชจ๋ ์๊ฐ 30์ ๋ฐฐ์๊ฐ ์๋๋ผ๋ ๋ณด์ฅ์ด ์๋๊ฐ๋ค.
CDABE, EADBC ๋ฑ ์ด 120๊ฐ์ง์ ๊ฒฝ์ฐ์ ์๊ฐ ์๋๋ฐ, ์ ๊ฐ์ฅ ํฐ ์๋ฅผ ์ ๋ ฌํด์ ๋๋ด์ ๋๋ง
๊ณ ๋ คํ๋ฉด ๋๋์ง์ ๋ํ ์ด์ ๋ ๋ชจ๋ฅด๊ฒ ๋ค.
๋ธ๋ก๊ทธ๋ค์ ์ฐพ์๋ดค์ผ๋ ์์ง ๋ช ํํ ํด๋ต์ ์ฐพ์ง ๋ชปํด์ ๊ณ์ ์๊ฐ ํด ๋ณผ์์ ..
๋์ ํ์ด
n= input() #ํ๋ณํ number
ans_li = [] #number๋ฅผ ์ซ์ ํ๋ํ๋ ๋ด์ list
for i in n:
ans_li.append(int(i))
ans_li.sort() #list๋ฅผ ์ ๋ ฌํ๊ณ
ans_li.reverse() #๋ค์ง๋๋ค
new_num="" #์ต์ข
์ผ๋ก ๋ง๋ค์ด ์ง number
for i in ans_li: #list ์์ ์๋ ์ซ์๋ฅผ ํ๋์ฉ new_num ๋ฌธ์์ด์ ๋ํ๋ค.
new_num += str(i)
new_num= int(new_num) #30์ผ๋ก ๋๋ ์ผ ํ๋ ์ ์ํ์ผ๋ก ๋ฐ๊พผ๋ค.
if new_num%30 == 0: #๋๋ ๋จ์ด์ง๋ฉด
print(new_num) #๊ทธ๋๋ก ์ถ๋ ฅ
else:
print(-1) #๋๋ ๋จ์ด์ง์ง ์์ผ๋ฉด 30์ ๋ฐฐ์๊ฐ ์๋๋ฏ๋ก -1 ์ถ๋ ฅ