[백준 알고리즘] Node.js 1526. 가장 큰 금민수
2023. 3. 16. 14:52ㆍ코딩연습
1. 문제
https://www.acmicpc.net/problem/1526
1526번: 가장 큰 금민수
첫째 줄에 N이 주어진다. N은 4보다 크거나 같고 1,000,000보다 작거나 같은 자연수이다.
www.acmicpc.net
2. 풀이방법
1) 4와 7로 이루어진 수 중 가장 큰 수를 찾기 위해 입력받은 숫자부터 내려가는 방식으로 생각.
2) 이후 자리 수 별로 잘라서 그 숫자가 4 또는 7인지 확인하고 새로운 배열에 true, false로 담아둠.
3) 배열에 false 가 없다면 그 숫자가 가장 큰 숫자이기 때문에 반복문을 멈추고 출력!
const inputs = +require('fs').readFileSync('/dev/stdin').toString().trim();
let answer = 0;
for(let i = inputs; i >= 0; i--){
let number = i.toString().split('').map(Number);
let numberChk = [];
for(let j = 0; j < number.length; j++){
if(number[j] === 4 || number[j] === 7){
numberChk[j] = true;
} else {
numberChk[j] = false;
}
}
if(!numberChk.includes(false)) {
answer = i;
break;
}
}
console.log(answer);
3. 정리
includes() 메서드는 배열이 특정 요소를 가지고 있는지 판별한다.
let arr = [1, 2, 3]
console.log(arr.includes(2)); // true
console.log(arr.includes(4)); // false
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/includes
Array.prototype.includes() - JavaScript | MDN
includes() 메서드는 배열이 특정 요소를 포함하고 있는지 판별합니다.
developer.mozilla.org
'코딩연습' 카테고리의 다른 글
[백준 알고리즘] Node.js 1813. 논리학 교수 (0) | 2023.03.20 |
---|---|
[백준 알고리즘] Node.js 1551. 수열의 변화 (0) | 2023.03.20 |
[백준 알고리즘] Node.js 1524. 세준세비 (0) | 2023.03.16 |
[JS] 백준 알고리즘 Node.js 1356. 유진수 (0) | 2023.03.11 |
[JS] 백준 알고리즘 Node.js 1296. 팀 이름 정하기. (2) | 2023.03.11 |