728x90
반응형
백준 1427번 소트인사이드 문제의 연장선 같습니다. 먼저 소트인사이드를 확인하시는 것도 좋을것같습니다.
[백준 1427번] 소트인사이드 Python 풀이 :: 러아니푸의 공부방 (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
반응형
'코딩문제풀이 > 백준' 카테고리의 다른 글
[백준 1158번] 요세푸스 문제 Python 풀이 (0) | 2021.07.08 |
---|---|
[백준 10845번] 큐 Python 풀이 (0) | 2021.07.08 |
[백준 1427번] 소트인사이드 Python 풀이 (0) | 2021.07.08 |
[백준 10828번] 스택 Python 풀이 (0) | 2021.07.07 |
[백준 1316번] 그룹 단어 체커 Python 풀이 (0) | 2021.07.07 |