SMALL
1. 원소들의 곱과 합
function solution(num_list) {
var answer = 0;
var multiple = 1;
var totalSqrt = 0;
for (var i=0; i<num_list.length; i++) {
multiple *= num_list[i];
totalSqrt += num_list[i];
}
totalSqrt *= totalSqrt;
if( multiple < totalSqrt ) {
answer = 1;
} else if ( multiple > totalSqrt ) {
answer = 0;
}
return answer;
}
2. 이어 붙인 수
function solution(num_list) {
var answer = 0;
var odd = "";
var even = "";
for (var i = 0; i<num_list.length; i++) {
if (num_list[i]%2 == 1) { // 홀수
odd += num_list[i];
} else { // 짝수
even += num_list[i];
}
}
odd = parseInt(odd); // 문자 > 숫자 바꾸기
even = parseInt(even); // 문자 > 숫자 바꾸기
answer = odd + even;
return answer;
}
3. 마지막 두 원소
function solution(num_list) {
var answer = [];
num_list.forEach (i=>{
answer.push(i);
})
var length = num_list.length;
var final = num_list[length-1];
var postFinal = num_list[length-2];
// 인덱스는 0부터 시작!
if (final > postFinal) {
answer.push(final-postFinal);
} else { // (final <= postFinal)
answer.push(final*2);
}
return answer;
}
4. 수 조작하기 1
// answer와 n은 같은 기능 X
// answer은 "최종 n의 값"을 담음.
function solution(n, control) {
var answer = 0;
var split_control = control.split('');
split_control.forEach ( i => {
if (i == "w") {
n += 1;
} else if (i == "s") {
n -= 1;
} else if (i == "d") {
n += 10;
} else if (i == "a") {
n -= 10;
}
})
answer = n;
return answer;
}
5. 수 조작하기 2
function solution(numLog) {
var answer = '';
for ( var i = 0; i<numLog.length-1; i++) {
if (numLog[i+1] - numLog[i] == 1) {
answer += "w";
} else if (numLog[i+1] - numLog[i] == -1) {
answer += "s";
} else if (numLog[i+1] - numLog[i] == 10) {
answer += "d";
} else if (numLog[i+1] - numLog[i] == -10) {
answer += "a";
}
// 0 ~ 11 (12개)
}
return answer;
}
728x90
'Algorithm > Javascript' 카테고리의 다른 글
[프로그래머스] 230708 코딩테스트 연습 (0) | 2023.07.08 |
---|---|
[프로그래머스] 230707 코딩테스트 연습 (0) | 2023.07.08 |
[프로그래머스] 230705 코딩테스트 연습 (0) | 2023.07.05 |
[프로그래머스] 230704 코딩테스트 연습 (0) | 2023.07.04 |
[프로그래머스] 230701 코딩테스트 연습 (0) | 2023.07.01 |
댓글