❗ 문제
출처: 프로그래머스 코딩 테스트 연습,
https://school.programmers.co.kr/learn/courses/30/lessons/181882
정수 배열 arr가 주어집니다.
arr의 각 원소에 대해 값이 50보다 크거나 같은 짝수라면 2로 나누고,
50보다 작은 홀수라면 2를 곱합니다.
그 결과인 정수 배열을 return 하는 solution 함수를 완성해 주세요.
❓ 나의 풀이
function solution(arr) {
let answer = [];
for (let i = 0; i < arr.length; i++) {
if (arr[i] >= 50 && arr[i] % 2 === 0) {
answer.push(arr[i] / 2);
} else if (arr[i] < 50 && arr[i] % 2 === 1) {
answer.push(arr[i] * 2);
} else {
answer.push(arr[i]);
}
}
return answer;
}
50보다 크거나 같은 짝수
1. 50보다 크거나 같다 ( arr[i] >= 50 )
2. 짝수 ( arr[i] % 2 === 0 )
50보다 작은 홀수
1. 50보다 작다 ( arr[i] < 50 )
2. 홀수 ( arr[i] % 2 === 1 )
각각 두 조건을 다 만족해야 하는데,
이럴 경우 AND ( && ) 연산자를 사용하면 된다.
위의 문제에서 두 조건을 다 만족하는 경우에만 조건문 안 코드가 실행되고,
그렇지 않은 경우에는 else로 넘어가서 기존의 arr 원소를 push하게 된다.
AND 연산자 ( && )
모든 피연산자가 참일 경우, 그 조건문은 true가 된다.
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 배열의 길이에 따라 다른 연산하기 (Level 0, JavaScript) (0) | 2024.04.25 |
---|---|
[프로그래머스] 문자열을 정수로 변환하기 (Level 0, JavaScript) (0) | 2024.04.24 |
[프로그래머스] 홀수 vs 짝수 (Level 0, JavaScript) (0) | 2024.04.22 |
[프로그래머스] n보다 커질 때까지 더하기 (Level 0, JavaScript) (0) | 2024.04.22 |
[프로그래머스] 문자열로 변환 (Level 0, JavaScript) (0) | 2024.04.20 |