[BOJ] 10610๋ฒˆ | 30 (Python3)

2022. 7. 20. 00:41ใ†Coding Test/BOJ

๐Ÿ”—๋ฌธ์ œ ๋ณด๋Ÿฌ๊ฐ€๊ธฐ
 

10610๋ฒˆ: 30

์–ด๋Š ๋‚ , ๋ฏธ๋ฅด์ฝ”๋Š” ์šฐ์—ฐํžˆ ๊ธธ๊ฑฐ๋ฆฌ์—์„œ ์–‘์ˆ˜ N์„ ๋ณด์•˜๋‹ค. ๋ฏธ๋ฅด์ฝ”๋Š” 30์ด๋ž€ ์ˆ˜๋ฅผ ์กด๊ฒฝํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ๊ทธ๋Š” ๊ธธ๊ฑฐ๋ฆฌ์—์„œ ์ฐพ์€ ์ˆ˜์— ํฌํ•จ๋œ ์ˆซ์ž๋“ค์„ ์„ž์–ด 30์˜ ๋ฐฐ์ˆ˜๊ฐ€ ๋˜๋Š” ๊ฐ€์žฅ ํฐ ์ˆ˜๋ฅผ ๋งŒ๋“ค๊ณ  ์‹ถ์–ดํ•œ

www.acmicpc.net

 

 

๋ฌธ์ œ ์„ค๋ช…

์–ด๋Š ๋‚ , ๋ฏธ๋ฅด์ฝ”๋Š” ์šฐ์—ฐํžˆ ๊ธธ๊ฑฐ๋ฆฌ์—์„œ ์–‘์ˆ˜ 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 ๊นŒ์ง€์˜ ๊ฐ ์ˆซ์ž์˜ ๊ฐœ์ˆ˜๋ฅผ ์นด์šดํŠธํ•˜์…จ๋„ค์š”.

์—ญ์‹œ ๋‚จ์˜ ์ฝ”๋“œ ๋ณด๋ฉด์„œ ์ฝ”๋“œ ๋ฆฌ๋ทฐํ•˜๋Š” ๊ฒƒ๋„ ์žฌ๋ฐŒ์Šต๋‹ˆ๋‹ค. ๋‹ค์–‘ํ•œ ์ƒ๊ฐ๋“ค์„ ๋ณด๋ฉฐ, ์ €๋ณด๋‹ค ๋›ฐ์–ด๋‚œ ์‚ฌ๋žŒ๋“ค์„ ๋ณด๊ณ  ๋ฐฐ์šธ ๊ฒŒ ๋งŽ์œผ๋‹ˆ๊นŒ์š”.

 

 

 

 

 

728x90
๋ฐ˜์‘ํ˜•