SMALL
1. 배열 만들기 2
- toString()
- ...변수
- every() 메서드
function solution(l, r) {
var answer = [];
// 1. 5의 배수인 값 중, 0과 5만 포함하는 값 출력!
for (var i=l; i<=r; i++) {
if (i%5 != 0) continue; // 5의 배수로 1차 필터
const charI = i.toString(); // 숫자 > 문자 변경
// ** every 함수 사용:
// ** every() 메서드: 배열 안의 모든 요소가 주어진 판별 함수를 통과하는지 test
if ( [...charI].every( s => s === "5" || s === "0" ) ) {
answer.push(i)
} else {
continue;
}
}
if (answer.length == 0) {
answer.push(-1);
}
return answer;
}
2. 카운트 업
- for문 (반복문) 사용
function solution(start, end) {
var answer = [];
for (var i=start; i<=end; i++) {
answer.push(i);
}
return answer;
}
3. 콜라츠수열 만들기
- do ~ while문 사용
function solution(n) {
var answer = [];
answer.push(n) // 초기 값 미리 넣어줌
do {
if (n%2 == 0) { // 짝수일 때
n /= 2; // n = n/2
} else { // 홀수일 때 (n%2 == 1)
n = 3*n+1;
}
answer.push(n)
} while (n > 1)
return answer;
}
4. 배열만들기 4
- pop()
- array.at(idx), array.slice(length-1)
// ** 배열 마지막 값 가져오기 : 배열.at(-1), 배열.slice(-1)[0]
// ** 배열 마지막 값 제거 : pop()
function solution(arr) {
var stk = [];
let i = 0;
while (i < arr.length) {
// 이전에 stk == [] 로 했을 땐, 시간 초과 > 테스트케이스는 통과 됨
if (stk.length === 0) {
stk.push(arr[i]);
i++;
} else if (stk.at(-1) < arr[i]) {
stk.push(arr[i]);
i++;
} else {
stk.pop();
}
}
return stk;
}
728x90
'Algorithm > Javascript' 카테고리의 다른 글
[프로그래머스] 230713 코딩테스트 연습 (0) | 2023.07.13 |
---|---|
[프로그래머스] 230712 코딩테스트 연습 (0) | 2023.07.12 |
[프로그래머스] 230729 코딩테스트 연습 (0) | 2023.07.09 |
[프로그래머스] 230708 코딩테스트 연습 (0) | 2023.07.08 |
[프로그래머스] 230707 코딩테스트 연습 (0) | 2023.07.08 |
댓글