Algorithm/Javascript

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

보라해바라기 2023. 7. 30. 22:33
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