programmers

코딩 테스트 / 양꼬치, 짝수의 합

이미사용 2023. 5. 19. 00:18
명언
-
728x90
반응형

양꼬치

※풀이

1. 조건문 if문을 써서 n(양꼬치)이(가) 10 이상인 경우, k(음료수)에서 n을 10으로 나눈 몫을 빼줍니다. 이를 통해 k의 값을 갱신합니다. ~~ 연산자는 숫자를 정수로 변환하는 역할을 수행합니다.
2. answer 변수를 선언하고, answer에 12000*n과 2000*k를 더한 값을 할당합니다. 이를 통해 최종 결과를 계산합니다.

이렇게 하면 양꼬치와 음료수를 시킨 지출액에서 서비스 음료수 값을 뺀 값을 얻을수 있습니다.
answer 값을 반환합니다.

ex1)

    {
        function solution(n, k) {
            if(n >= 10){
                k -= ~~(n/10)
            }
            var answer = 12000*n + 2000*k 
            return answer;
        }
        console.log(solution(10,3));
        //124000
    }

ex2)

    {
        function solution(n, k) {
            if(n >= 10){
                k -= ~~(n/10)
            }
            var answer = 12000*n + 2000*k 
            return answer;
        }
        console.log(solution(64,6));
        //768000
    }

 

 

짝수의 합

※풀이

1. Array(n)을 사용하여 길이가 n인 배열을 생성합니다.
2. fill() 메서드를 사용하여 배열의 모든 요소를 undefined로 채웁니다.
3. map() 메서드를 사용하여 배열의 각 요소에 접근합니다. 이때, v는 요소의 값이고 i는 인덱스입니다. 각 요소에는 1부터 n까지의 숫자가 순서대로 들어가게 됩니다.
4. filter() 메서드를 사용하여 짝수만 필터링합니다. v % 2 === 0 조건은 v가 짝수인지 확인합니다.
5. reduce() 메서드를 사용하여 배열의 모든 요소를 더합니다. a는 누적값이고 c는 현재 요소의 값입니다. 초기 누적값은 0으로 설정되어 있습니다.

Array()  JavaScript에서 배열을 생성하기 위한 내장 생성자 함수입니다. 
 fill()  fill() 메서드는 배열의 모든 요소를 특정 값으로 채우는 역할을 합니다.

map() map() 메서드는 배열의 모든 요소에 대해 주어진 함수를 호출하고, 그 결과로 새로운 배열을 생성합니다.
filter() filter() 메서드는 주어진 함수의 조건을 만족하는 배열의 요소들로 구성된 새로운 배열을 반환합니다.
reduce() reduce()는 배열(Array) 객체의 메서드로, 배열의 각 요소에 대해 주어진 콜백 함수를 실행하고, 콜백 함수의 반환 값을 누적하여 하나의 결과값을 생성하는 함수입니다.

ex1)

    {
        function solution(n) {
            return Array(n).fill().map((v, i) => i+1).filter(v => v % 2 === 0).reduce((a,c) => a + c ,0)
        }
        console.log(solution(10));
        //30
    }

ex2)

    {
        function solution(n) {
            return Array(n).fill().map((v, i) => i+1).filter(v => v % 2 === 0).reduce((a,c) => a + c ,0)
        }
        console.log(solution(4));
        //6
    }

 

 

출처:https://school.programmers.co.kr/