[JS] 백준 알고리즘 Node.js 1356. 유진수
2023. 3. 11. 13:02ㆍ코딩연습
1. 문제
https://www.acmicpc.net/problem/1356
1356번: 유진수
첫째 줄에 수 N이 주어진다. 이 수는 2,147,483,647보다 작거나 같은 자연수이다.
www.acmicpc.net
2. 풀이방법
1) 입력받은 숫자를 일정 부분마다 잘라서 유진수가 될 수 있는지를 확인한다.
2) 만약 입력받은 숫자의 길이가 1자리 숫자인 경우는 무조건 NO
const n = require('fs').readFileSync('/dev/stdin').toString().trim();
let checkBool = false;
for(let i = 1; i <= n.length; i++){
let first = n.slice(0, i).split('');
let second = n.slice(i).split('');
let firstTimes = 1;
for(let j = 0; j < first.length; j++){
firstTimes *= +first[j];
}
let secondTimes = 1;
for(let j = 0; j < second.length; j++){
secondTimes *= +second[j];
}
if(firstTimes === secondTimes) {
checkBool = true;
break;
}
}
if(checkBool && n.length !== 1) console.log("YES")
else console.log("NO")
3. 정리
- slice() 함수에 대해 명확하게 알 수 있었다.
let test = '1221';
console.log(test.slice(0,1)); // '1'
console.log(test.slice(1)); // '221'
let testArr = [ 1, 2, 3, 4];
console.log(testArr.slice(0,1)); // [1]
console.log(testArr.slice(1)); // [2, 3, 4]
*참고
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/slice
'코딩연습' 카테고리의 다른 글
[백준 알고리즘] Node.js 1526. 가장 큰 금민수 (0) | 2023.03.16 |
---|---|
[백준 알고리즘] Node.js 1524. 세준세비 (0) | 2023.03.16 |
[JS] 백준 알고리즘 Node.js 1296. 팀 이름 정하기. (2) | 2023.03.11 |
[JS] 백준 알고리즘 Node.js 1251. 단어 나누기 (0) | 2023.03.10 |
[JS] 백준 알고리즘 Node.js 1064. 평행사변형 (0) | 2023.03.08 |