본문 바로가기
코딩 테스트

[ 프로그래머스 ] 가위 바위 보

by 주연배 2024. 3. 25.

문제

 

풀이

방1)
1. for문을 돌려서 rsp문자 중 하나의 문자열을 가져온다.
2. rsp중 한 문자열이 2이면 answer에 0을 넣어주고
3. 0 -> 5로 바꾸고, 5 -> 2로 바꿔준다
방2) 
1. split()으로 문자열을 배열로 만들어준다.
2. map()으로 2이면 0으로 바꾸고 0->5, 5->2로 바꿔준다.
3. 바꿔준 배열을 join()을 이용해 문자열로 바꿔준다

결과

방1) 
function solution(rsp) {
    var answer = '';
    for(let i=0; i<rsp.length; i++){
        let ch = rsp.charAt(i)
        if(ch == '2') answer += '0'
        else if(ch == '0') answer += '5'
        else if(ch == '5') answer += '2'
    }
    return answer;
}


방2)

function solution(rsp) {
    return rsp.split('').map((i)=>(i==='2')?'0' : (i==='0')?'5':'2').join('');
}

 

방2는 다른 사람의 풀이를 보고 풀어봤다.

전에 풀었던 코드와 비교하니 엄청 간단하게 풀 수도 있다는 사실을 알았다. for문을 돌리는 것도 좋지만 다양한 메서드들을 사용해서 문제를 풀어보려고 노력해야겠다.