https://school.programmers.co.kr/learn/courses/30/lessons/120831?language=javascript
문제 설명
정수 n이 주어질 때, n이하의 짝수를 모두 더한 값을 return 하도록 solution 함수를 작성해주세요.
제한사항
0 < n ≤ 1000
입출력 예
n | result |
10 | 30 |
4 | 6 |
입출력 예 설명
입출력 예 #1
- n이 10이므로 2 + 4 + 6 + 8 + 10 = 30을 return 합니다.
입출력 예 #2
- n이 4이므로 2 + 4 = 6을 return 합니다.
나의 풀이
curr가 2부터 시작해서 하나씩 올라가며 짝수일 때 answer에 더해 주었다.
function solution(n) {
let curr = 2;
let answer = 0;
while (curr <= n) {
if (curr % 2 == 0){
answer+= curr;
}
curr++;
}
return answer;
}
다른 풀이 #1
이런 수학공식...새로 알게 되었다. 진짜로 똑똑하게 푼 코드다.
function solution(n) {
var half = Math.floor(n/2);
return half*(half+1);
}
다른 풀이 #2
for loop을 2씩 키우면 된다. 왜 생각 못했을까...
이제는 코드를 적고나면 조금 더 효율적인 방법은 없을까를 생각해 봐야겠다.
function solution(n) {
var answer = 0;
for(let i=2 ; i<=n ; i+=2)
answer += i;
return answer;
}
'코딩 문제 > 프로그래머스 [ JavaScript ]' 카테고리의 다른 글
[ 프로그래머스 / JavaScript ] 햄버거 만들기 (0) | 2022.11.08 |
---|---|
[ 프로그래머스 / JavaScript ] 푸드 파이트 대회 (0) | 2022.11.06 |
[ 프로그래머스 / JavaScript ] 짝수 홀수 개수 (0) | 2022.10.29 |
[ 프로그래머스 / JavaScript ] [ 2022 KAKAO BLIND RECRUITMENT ] 신고 결과 받기 (0) | 2022.10.26 |
[ 프로그래머스 / JavaScript ] 분수의 덧셈 (0) | 2022.10.25 |
댓글