코딩 테스트/test_javaScript

[코딩테스트/javaScript] 짝수의 합 ⭐️⭐️⭐️

ijooha 2024. 12. 17. 01:31

function solution(n) {
    return ((n+2)*(n/2))/2
}

처음에 이렇게 썼는데, 코드 실행은 맞다고 했으면서 채점은 틀렸다.

왜그런가 생각해봤는데, 대충보고 n이 무조건 짝수라고 생각함.. 그럼 n을 짝수로 먼저 만들어줘야겠다.

function solution(n) {
    (n%2==1) ? n-1 : n
    return ((n+2)*(n/2))/2
}

왜 틀렸지 이 방향이 아닌가?

function solution(n) {
    Math.floor(n/2)*2;
    return ((n+2)*(n/2))/2
}

또 틀렸다. 아무리 봐도 내가 만든 식은 맞는데, 뭔가 식들끼리 연결지점이 없어서 그런가?

뭔가 자바스크립트 기본 개념도  모르고 무작정 들이 받고있는 중인 것 같음

 

 풀이 

function solution(n) {
    let i = Math.floor(n/2)*2;
    return ((i+2)*(i/2))/2
}

식끼리 연결해주려고 변수 i를 정해서 넣은 다음에 푸니까 풀린다. 나는 바보다 에라이.. 기초 다지는 거 열심히 해야겠다.

그리고 뭔가 되게 지저분하다. 더 간단하게 정리해보자..

function solution(n) {
    let i = Math.floor(n/2);
    return (i+1)*i
}

훨씬 깔끔하다 ! 만족