반응형
문제
30
https://www.acmicpc.net/problem/10610
풀이
설명
주어진 수로 30의 배수를 만들 수 있다면 그 중 가장 큰 수를 구하는 문제입니다.
30의 배수가 되기 위해서는 10과 3으로 나눌 수 있어야 합니다.
따라서 다음 두 조건을 만족해야 합니다.
- 10으로 나눌 수 있으려면, 0을 하나 이상 포함해야 합니다.
- 3으로 나눌 수 있으려면, 각 자릿수의 합이 3의 배수여야 합니다.
두 조건을 모두 만족한다면, 내림차순으로 정렬한 후 반환하면 됩니다.
예시 코드
function solution() {
const number = input().split("").map(Number);
const sum = number.reduce((a, b) => a + b, 0);
if (!number.includes(0) || sum % 3 !== 0) return -1;
return number.sort((a, b) => b - a).join("");
}
'Coding Problem' 카테고리의 다른 글
[BOJ 2578] 빙고 (0) | 2025.03.19 |
---|---|
[BOJ 2548] 대표 자연수 (0) | 2025.03.17 |
[BOJ 3151] 합이 0 (0) | 2025.03.15 |
[BOJ 2251] 물통 (0) | 2025.03.14 |
[BOJ 1300] K번째 수 (0) | 2025.03.13 |