[프로그래머스/코딩테스트 모음/Javascript] 17

TED·2023년 9월 11일
0

Javascript CodingTest

목록 보기
25/63
post-thumbnail

< 오늘의 문제 >

  1. 가위 바위 보
  2. 암호 해독
  3. 대문자와 소문자

가위 바위 보

function solution(rsp) {
    var answer = '';
    for (let i = 0; i < rsp.length; i++) {
        if (rsp[i] === '2') {
            answer += '0';
        } else if (rsp[i] === '0') {
            answer += '5';
        } else if (rsp[i] === '5') {
            answer += '2';
        }
    }
    
    return answer
}
  • 나의 풀이
    : rsp의 요소값에 대해 조건을 걸고 그에 맞는 값을 출력해서 더해줬다. 여기서 더한다는 의미는 문자열의 더하기 임으로
    숫자가 합쳐지는게 아닌 서로 붙어있는 값이 나온다. ex) 1+2 = '12'

암호 해독

function solution(cipher, code) {
    var result = '';
    const newCipher = cipher.toString().split('');
    
    for(let i = 0; i < newCipher.length; i++){
        if((i + 1) % code === 0){
            result += newCipher[i];
        }
    }
    return result;
}
  • 나의 풀이
    : code라는 값은 위치를 나타내는 것이 아니라 배수를 나타낸다
    즉, code가 4라면, 배열에서 4의 배수 위치에 있는 값을 찾아야 한다
    이때 i가 0부터 시작하면 첫 번째 위치가 0이 되므로 (i + 1) 을 사용하여 1부터 시작하는 위치로 조정해야 한다

대문자와 소문자

function solution(my_string) {
    var answer = [];
    for (let i = 0; i < my_string.length; i++){
        if(my_string[i] === my_string[i].toUpperCase()){
            answer.push(my_string[i].toLowerCase())
        } else {
            answer.push(my_string[i].toUpperCase())
        }
    }
    
    return answer.join("");
}
  • 나의 풀이
    : 배열에 하나씩 집어넣으면['','','','',''] 식으로 push되기때문에 마지막 answer에 .join으로 마무리했다.
profile
컴맹 개발 입문자

0개의 댓글