알고리즘 문제

[10~12일차] 프로그래머스 Lv.1

잼굴 2022. 11. 22. 12:13

문제 1. 문자열 다루기 기본

풀이순서: 

1. 문자열s를 배열로 만든다.

2. s의 길이만큼 숫자만 골라내서 box라는 빈배열에 넣기를반복한다

3. s의 길이와 box의 길이를 비교해서 true false를 판가름한다.

 

function solution(s) {
    var answer = "";
    let box = []
    
    s.split("");
    for(let i=0; i<s.length+1; i++){
        for(let j=0; j<10; j++){
            if(s[i]==j){
            box.push(s[i])}
        }
    }
    if(s.length==box.length&&(s.length==4 || s.length==6)){
        answer = true
    }
    else if(s.length!=box.length){
        answer = false
    }
    else if(s.length!=4 && s.length!=6){
        answer = false
    }

    return answer;
}

 

 

2. 부족한 금액 계산하기

 

풀이순서

1. 이용횟수 * 가격을 반복문을 통해서 계속 더해준다

2. 내야할 돈과 가진돈을 빼고 모자란 돈을 반환한다.

2. 금액이 딱 맞아 떨어지면 0을 반환한다.

 

function solution(price, money, count) {
    var answer = 0;
    let pricesum = 0;
    for(i=1; i<count+1; i++){
        pricesum += i*price
    }
    answer = pricesum - money
    if (answer<0){
        answer = 0
    }
    return answer;
}

 

3. 직사각형 별 찍기

 

 

풀이순서

1. 이중 for문을 이용한다.

 

process.stdin.on('data', data => {
    const n = data.split(" ");
    const a = Number(n[0]), b = Number(n[1]);
    
    for(let i = 0; i<b; i++){
        let str = "";
        for(let j=0; j<a; j++){
            str += "*"
        }
        console.log(str)
    }
});