728x90
반응형

백준 1427번 소트인사이드 문제의 연장선 같습니다. 먼저 소트인사이드를 확인하시는 것도 좋을것같습니다.

[백준 1427번] 소트인사이드 Python 풀이 :: 러아니푸의 공부방 (tistory.com)

 

[백준 1427번] 소트인사이드 Python 풀이

Python 문제풀이 n = input() x = [] result='' for i in range(len(n)): x.append(n[i]) x.sort(reverse=True) for i in range(len(x)): result += x[i] print(result) 입력 받은 문자열을 내림차순하기 위해서..

fjdkslvn.tistory.com

 

Python 문제풀이

n = input()
x = []
sum=0
result=''

#내림차순 정렬
for i in range(len(n)):
    x.append(n[i])
x.sort(reverse=True)

#내림차순 된 리스트를 문자열로 변환, 값 더하기
for i in range(len(x)):
    result += x[i]
    sum += int(x[i])

#모두 더한 값이 3으로 나눠지며 제일 작은 값이 0이라면
if sum%3==0 and result[-1]=='0':
    print(result) #30으로 나누어지는 숫자이니 출력
else:
    print(-1)

 

해당 문제는 입력받은 문자열을 내림차순으로 정렬한 후, 3으로 나눠지는 수.. 즉 각 자리수를 모두 더한 값이 3으로 나눠지는지 확인하고, 이 문제는 30으로 나누어지는 것을 원했으니 제일 작은 수 부분에 0이 있다면 30으로도 충분히 나누어지는 수가 됩니다.

 

상대방에게 이해되도록 설명하는 것이 어렵네요. 역시 개발자들은 코드로 이야기하는게 좋은것 같습니다! ㅎㅎ

728x90
반응형

+ Recent posts