알고리즘 문제

[2일차] 프로그래머스 코딩테스트 Lv.1

잼굴 2022. 10. 20. 22:54

문제 1

 

풀이순서

                  1. 모든 문자를 대문자로 만든다.

                  2. P의 개수와 Y의 개수를 비교한다.

 

사용문법

  toUpperCase()   : 문자를 대문자로 바꾼다.

  split() : 문자열을 배열로 바꾸고, 해당 문자를 가져온다.

  length : 개수세기. 배열크기에서 -1을하면 특정 문자의 개수를 알수있따.

 

function solution(s){
    var answer = true;

    s = s.toUpperCase()
    if((s.split("P").length-1)==s.split("Y").length-1){
        answer = true
    }
    else{answer = false}


    return answer;
}

 

문제 2

 

풀이순서

1. 숫자를 문자로 바꾼다.

2. 문자를 배열로 바꾼다.

3. 내림차순으로 정렬한다.

4. 배열을 문자열로 바꾼다.

5. 문자를 숫자로 바꾼다.

 

사용문법

`${}` : ES6문법  -> 문자열로 바꾼다.

split('') :  배열로 바꾼다.

sort((a,b)=>b-a) : 내림차순으로 바꾼다.

join("") : 문자열로 바꾼다.

Number() : 숫자로 바꾼다.

 

function solution(n) {
    var answer =  Number(`${n}`.split('').sort((a,b)=>b-a).join(""))
    
    return answer;
}

 

 

문제 3

 

 

풀이순서

1. 숫자 분리를위해 문자열로 바꾼다.

2. 반복문을 돌아서 각 자리수를 더한다. (값을 특정 변수 x에 저장함)

3. 주어진 수와 x를 나누어 나머지가 0이면 true값을, 아니면 false를 준다.

 

사용문법

toString() : 문자열로 변환

for() : 반복문

parseInt(): 정수로 바꿔준다.

if(){} else{} : 조건문

 

function solution(x) {
    var answer = true;
    let plus = 0
    x=x.toString();
     for (let i = 0; i < x.length; i++){
    plus += parseInt(x[i])
  }
    if(parseInt(x)%plus==0){
        answer = true
    } 
    else{answer=false}
    return answer;
}

 

문제 4

 

 

풀이순서

1. 반복문을 통해서 특정 조건이 되면 반복을 멈춘다.

 

사용문법

while() , break; : 반복문, 반복 중단

if() : 조건문

 

function solution(n) {
    var answer = 0; 
    let i = 1
    while(i<n){
        if(n%i==1){
            break;
        }
        i++
        answer = i
    }
    
    return answer;
}