알고리즘 코딩

두 정수 사이에 있는 정수들의 합을 구하는 알고리즘

가문비7 2023. 4. 15. 11:39

제목과 같은 코딩테스트 문제이다. 자세한 내용은 아래와 같다.

https://school.programmers.co.kr/learn/courses/30/lessons/12912

 

나의 순도 99% 답안은 아래와 같다. 자세한 내용은 주석 참조.

function solution(a, b) {
    var answer = 0; // 일단 answer는 0 이다.

    if(a <= b) {
        for(i = a ; i <= b; i++) { // answer 0에다가 a 부터 시작해서 b까지의 정수를 반복해서 더한다. 중복해서 더해진 값이 answer에 들어간다.
        answer = answer + i  // 
        }  
        console.log(answer)
        return answer;
    } else {
        for(i = b ; i <= a; i++) { // a > b 일때는 반대로 이렇게 진행된다.
            answer = answer + i
            }  
            console.log(answer)
            return answer;
    }
}

solution(-1, 2)

 

이 문제를 풀면서 어려웠던 점은 파라미터로 음수가 올수도 있다는 점이었다. 뭔가 복잡한 로직일 거 같았는데 아니었다. 그냥 양수 파라미터일 경우의 로직을 완성했는데 음수를 넣어도 잘 작동했다. 

 

여기서 알게 된 점은, 일단 알고리즘의 일부라도 코딩을 하고 그 후에 디테일한 문제의 요구사항(음수 파라미터 같은)을 충족시켜도 된다는 점이다. 한단계 한단계 코드의 작동을 확인해 나가면서 코딩하는게 현실적이다.

처음부터 완성된 시나리오를 갖고 코딩할 수는 없는 것 같다.