[프로그래머스] 230730 코딩테스트 연습

    SMALL

    1. 커피 심부름

    // 메뉴 종류가 중요! (아메리카노, 카페라떼)
    
    function solution(order) {
        var answer = 0;
    
        order.forEach( i => {
            if (i.includes("americano") || i.includes("anything")) answer += 4500;
            else if (i.includes("cafelatte")) answer += 5000;
        })
        
        return answer;
    }

     

     

    2. 조건에 맞게 수열 변환하기 3

    function solution(arr, k) {
        var answer = [];
        
        answer = arr.map ( i => (k%2==1) ? i*k : i+k);
        
        return answer;
    }

     

    3. l (소문자 L)로 만들기

    // a: 97 ~ z: 122
    
    function solution(myString) {
        var answer = '';
        let strArr = [];
        let numArr = [];
        let lNum = "l".charCodeAt();
        
        strArr = myString.split("")
        
        // ** 문자 > 아스키코드 : charCodeAt()
        strArr.forEach( i => {
            numArr.push(i.charCodeAt());
        })
        
        numArr.forEach( (v, i) => {
            if (v < lNum) strArr[i] = "l";
        })
        
        answer = strArr.join('');
        
        return answer;
    }

     

    4. 특별한 이차원 배열 1

    function solution(n) {
        var answer = [[]];
        
        // 2차원 배열 생성
        let arr = new Array(n);
        for (var i = 0; i < arr.length; i++) {
            arr[i] = new Array(n);
        }
        
        for (let i=0; i<n; i++) {
            for (let j=0; j<n; j++) {
                if (i==j) arr[i][j] = 1;
                else arr[i][j] = 0;
            }
        }
        
        answer = arr;
        
        return answer;
    }

     

    5.  특별한 이차원 배열 2

    function solution(arr) {
        var answer = 0;
        let n = arr.length
        let cnt = 0;
        
        for (let i=0; i<n; i++) {
            for (let j=0; j<n; j++) {
                if (arr[i][j] == arr[j][i]) {
                    cnt += 1;
                }
            }
        }
        
        if (cnt == n*n) answer = 1;
        
        return answer;
    }

     

     

    728x90

    댓글