❗ 조건
조건 1. 각 자리의 수 합이 3의 배수
조건 2. 오름차순 정렬시 배열의 0번 인덱스에는 0이 있어야 30의 배수
const input = require('fs').readFileSync('10610.txt').toString().trim();
let mirco = input.split("").sort();
let result = input.split("").sort((a, b) => b - a).join('');
mirco[0] != 0 ? console.log(-1) : sortMircoArray(mirco);
function sortMircoArray(num) {
let sum_num = 0
num.forEach((element, index) => {
sum_num += parseInt(num[index])
});
sum_num % 3 == 0 ? console.log(result) : console.log(-1)
}
❗ 풀이
- const input에 10610.txt에 담긴 텍스트를 가져와서 문자열로 바꾼 뒤 공백 제거 후 담기
- input을 문자열 하나 하나 쪼갠 후 오름차순으로 정렬하여 mirco에 담기
- 오름차순으로 정렬된 mirco의 0번 인덱스가 0이 아니라는 삼항조건식에 의해 참이면 -1을 출력하고 거짓이면 sortMircoArray에 던짐
- sortMircoArray(num)를 통해 매개변수로 받은 array를 forEach를 통해 각 인덱스에 담긴 값을 더한 후 sum_num에 담음
- sum_num을 3으로 나눴을 때 나머지가 0이면 input값을 오름차순으로 정렬 후 join()을 통해 배열에 담긴 문자열을 합쳐서 출력하고 나머지가 0이 아니면 -1을 출력함
'알고리즘 풀이' 카테고리의 다른 글
[JAVASCRIPT] 백준 1764번 문제 풀이 (0) | 2022.12.13 |
---|---|
[JAVASCRIPT] 백준 1475번 문제 풀이 (0) | 2022.12.10 |
[JAVASCRIPT] 백준 9095번 문제 풀이 (0) | 2022.09.29 |
[JAVASCRIPT] 백준 17202번 문제 풀이 (0) | 2022.09.28 |
[JAVASCRIPT] 백준 4150번 문제 풀이 (0) | 2022.09.27 |