🔗 문제 링크
https://www.acmicpc.net/problem/10610
✏️ 풀이
const input = require('fs').readFileSync('/dev/stdin').toString().trim().split('').map(Number);
const isDivisibleByThree = !(input.reduce((acc, v) => acc + v, 0) % 3);
const max = input.sort((a, b) => b - a).join('');
const isDivisibleByTen = max[max.length - 1] === '0';
const answer = isDivisibleByThree && isDivisibleByTen ? max : -1;
console.log(answer);
30의 배수이려면 일의 자리수가 0으로 끝나면서 각 자리 숫자의 합이 3의 배수여야 한다.
위 조건을 만족하는 경우 주어진 수들을 내림차순 배열로 나열하면 가장 큰 30의 배수를 구할 수 있다.
'연습장 > 백준(BOJ) 문제풀이' 카테고리의 다른 글
[백준 9020 - Node.js] 골드바흐의 추측 (0) | 2022.07.10 |
---|---|
[백준 17413 - Node.js] 단어 뒤집기 2 (0) | 2022.07.10 |
[백준 1012 - Node.js] 유기농 배추 (0) | 2022.06.27 |
[백준 2573 - Node.js] 빙산 (0) | 2022.06.05 |
[백준 1260 - Node.js] DFS와 BFS (0) | 2022.06.03 |