- 풀이
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() 메서드를 사용한다.
(n,t) = n의t승
- 풀이
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() 함수는 문자열에서 특정 인덱스에 위치하는 유니코드 단일문자를 반환한다.
"Hello World"를 charAt(0)을 통해서 첫 번째 문자열 "H"만 받아올 수 있다