[알고리즘] 프로그래머스_코딩테스트 입문_2023.3.1

신재욱·2023년 3월 1일
0
post-thumbnail

0️⃣ 세균 증식


  • 풀이
function solution(n, t) {
    for(let i=1; i<=t; i++){
        n *= 2;
    }
    return n;
}


n*=2 (n=7)

n = 7 * 2 = 14 (n=14)
n = 14 * 2 = 28 (n=28)
n = 28 * 2 = 56 (n=56)
.
.
.
  • 다른 풀이
function solution(n, t) {

    return n*Math.pow(2,t);
}

📌 Math.pow()

자바스크립트 제곱 표현 방법은 Math.pow() 메서드를 사용한다.
(n,t) = n의t승

0️⃣ 가위 바위 보 ✨


  • 풀이
function solution(rsp) {
    var answer = ('');
    var a = rsp.split("");
   
    for(let i =0; i<a.length; i++){
        if(a[i]==="2"){
            answer+="0"
        }else if(a[i]==="0"){
            answer+="5"
        }else if(a[i]==="5"){
            answer+="2"
        }
    }
    return answer;
}
  • 왜 정답이 안되는지 모르겠는 풀이
  function solution(rsp) {
    var answer = [];
    var b = answer.join("");
    var a = rsp.split("");
   
    for(let i =0; i<a.length; i++){
        if(a[i]==="2"){
            answer.push("0")
        }else if(a[i]==="0"){
            answer.push("5")
        }else if(a[i]==="5"){
            answer.push("2")
        }
    }
    return b;
}


split으로 rsp를 배열로 만들고 그 배열의 길이 만큼 반복해서 각각의 조건에 맞을때 push로 answer 배열에 값을 넣는다.
그리고 그렇게 들어간 배열을 join으로 문자열로 만든다.
근데 왜 안되는 거지....?
push는 안되고 +=는 되는 이유가 뭐지? 배열로 넣서 join으로 합치는건 안되는건가?
...
  • 다른 풀이
function solution(rsp) {
   
    let answer = '';
  
    for(let i =0; i<rsp.length; i++){
        let cp = rsp.charAt(i);
        if(cp==="2"){
             answer +="0"
        }else if(cp==="0"){
            answer +="5"
        }else if(cp==="5"){
            answer +="2"
        }
    }
        return answer;
}

📌 charAt()

charAt() 함수는 문자열에서 특정 인덱스에 위치하는 유니코드 단일문자를 반환한다.

"Hello World"를 charAt(0)을 통해서 첫 번째 문자열 "H"만 받아올 수 있다

profile
1년차 프론트엔드 개발자

0개의 댓글

관련 채용 정보