반응형
🎈 문제설명
정수 리스트 num_list가 주어집니다. 가장 첫 번째 원소를 1번 원소라고 할 때, 홀수 번째 원소들의 합과 짝수 번째 원소들의 합 중 큰 값을 return 하도록 solution 함수를 완성해주세요. 두 값이 같을 경우 그 값을 return합니다.
🎈 제한사항
- 5 ≤ num_list의 길이 ≤ 50
- -9 ≤ num_list의 원소 ≤ 9
🎈 입출력 예
num_list | result |
[4, 2, 6, 1, 7, 6] | 17 |
[-1, 2, 5, 6, 3] | 8 |
🎈 입출력 예 설명
입출력 예 #1
- 홀수 번째 원소들의 합은 4 + 6 + 7 = 17, 짝수 번째 원소들의 합은 2 + 1 + 6 = 9 이므로 17을 return합니다.
입출력 예 #2
- 홀수 번째 원소들의 합은 -1 + 5 + 3 = 7, 짝수 번째 원소들의 합은 2 + 6 = 8 이므로 8을 return합니다.
💻 나의 풀이
나의풀이
function solution(num_list) {
let odd = Number('');
let even = Number('');
for(i=0;i<num_list.length;i++) {
if(i%2==0) {
// 홀수
odd += num_list[i]
} else {
//짝수
even += num_list[i]
}
}
var answer = Math.max(odd,even);
return answer;
}
👀 문자열을 숫자로 바꿔주는 JavaScript 메서드는 주로 두 가지가 있습니다
Number()와 parseInt(), parseFloat()입니다.
이들 메서드는 문자열을 숫자로 변환할 때 유용하게 사용할 수 있습니다.
1. Number() 메서드
Number()는 문자열을 숫자로 변환하며, 정수와 소수 모두 변환이 가능합니다.
변환이 불가능한 문자열의 경우 NaN을 반환합니다.
let str1 = "123";
let num1 = Number(str1); // 123
let str2 = "123.45";
let num2 = Number(str2); // 123.45
2. parseInt() 메서드
parseInt()는 문자열을 정수로 변환합니다.
문자열에 소수점이 있으면 소수점 이하를 무시하고, 숫자가 아닌 문자가 포함되면 그 전까지의 숫자만 변환합니다.
let str = "123.45";
let num = parseInt(str); // 123
let strWithText = "123abc";
let numWithText = parseInt(strWithText); // 123
3. parseFloat() 메서드
parseFloat()는 문자열을 실수로 변환하며, 소수점을 포함한 숫자를 변환할 때 사용합니다.
let str = "123.45";
let num = parseFloat(str); // 123.45
변환 실패 시
문자열이 숫자로 변환할 수 없는 경우, 각 메서드는 NaN을 반환합니다.
let str = "abc";
let num = Number(str); // NaN
예시: 문자열을 숫자로 변환하기
let numString = "456";
let number = Number(numString); // 456
console.log(number);
let floatString = "123.45";
let floatNumber = parseFloat(floatString); // 123.45
console.log(floatNumber);
💻 다른 사람 풀이
다른 사람 풀이
function solution(num_list) {
let even = 0;
let odd = 0
num_list.map((v, idx) => {
!(idx % 2) ? even += v : odd += v;
})
return odd > even ? odd : even;
}
💡 내 코드와 차이점
for문과 if문, Math.max()을 사용하지 않고
map() 메서드와 삼항연산자를 이용하여 값을 반환함
반응형
'📂 JavaScript > 코딩테스트 - 프로그래머스' 카테고리의 다른 글
[프로그래머스 JS] 암호 해독 (0) | 2024.04.18 |
---|---|
[프로그래머스 JS] 주사위의 개수 ( Math.floor(), 구조분해할당 ) (1) | 2024.04.18 |
[프로그래머스 JS] 가위 바위 보( split(), map(), join() / 스프레드연산자, 객체 ) (0) | 2024.03.19 |
[프로그래머스 JS] n보다 커질 때까지 더하기( for...of, if문, break ) (3) | 2024.02.14 |
[프로그래머스 JS] 원하는 문자열 찾기 (단항연산자, toUpperCase()) (1) | 2024.02.14 |