Notice
Recent Posts
Recent Comments
Link
목록2024/01/30 (2)
JiSoo's Devlog
[백준 / 파이썬] 10610번 30
n = input() if "0" not in n: print(-1) else: s = 0 for i in range(len(n)): s += int(n[i]) if s % 3 != 0: print(-1) else: sn = sorted(n, reverse=True) an = "".join(sn) print(an) 30의 배수는 3의 배수이면서 10의 배수이기도 하다 10의 배수가 되려면 마지막 일의 자리가 반드시 0으로 끝나야 한다 3의 배수가 되려면 각 자릿수의 합이 3의 배수이면 된다 0이 들어가지 않는다면 -1 출력 30의 배수가 되는 가장 큰 값을 출력해야 하기 때문에 내림차순으로 정렬만 해주면 된다
코테준비
2024. 1. 30. 11:49
[백준 / 파이썬] 2217번 로프
n = int(input()) ro = [] v = [] for i in range(n): ro.append(int(input())) ro.sort(reverse=True) for j in range(n): v.append(ro[j]*(j+1)) print(max(v)) 예를 들어 10과 15의 무게를 가진 두 로프라고 했을 때 두 로프가 최대로 버틸 수 있는 무게는 10 그렇기 때문에 10*2 = 20이 된다 입력받은 로프의 무게를 리스트에 넣어주고 내림차순으로 정렬 [15, 10] 이렇게 되는데 여기서 두 번째 값인 10을 버틸 수 있게 되기 때문 결론적으로 n번째로 큰 수를 n번 곱해주면 된다는 규칙이 나오게 된다 ro[n] * n번째 자리
코테준비
2024. 1. 30. 10:24