개발자 혜진
꾸준하게 개발 블로그
개발자 혜진
06-07 05:56
전체 방문자
오늘
어제
  • 전체보기 (69)
    • 코딩테스트 (25)
    • HTML (1)
    • CSS (6)
    • React (3)
    • Vue (8)
    • Javascript (9)
    • Java (3)
    • IDE (1)
    • Toy Project (10)
    • 개발 서적 (2)
    • 개발 이야기 (0)
    • TMI (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • 글쓰기

인기 글

태그

  • springboot mustache 한글 깨짐
  • styled-component focus out
  • 8진수2진수
  • js 진수변환
  • classList메소드
  • vue2캘린더 만들기
  • 이상한문자만들기 js
  • TypeScript기본문법
  • vue2
  • 프로그래머스 3진법뒤집기
  • vuetify
  • javascript 진수
  • 시저암호js
  • 예산js
  • 박스가운데정렬
  • 텍스트에그라데이션
  • input Foucs Out
  • 프로그래머스0
  • 가로가운데정렬
  • 클래스 토글
  • 프로그래머스
  • 뷰티파이
  • react
  • spring boot 한글 깨짐
  • div가운데정렬
  • 드로잉윗유
  • Java초기화
  • 텍스트에이미지적용
  • 시저암호javascript
  • 프로그래머스예산

최근 글

hELLO · Designed By 정상우.
개발자 혜진

꾸준하게 개발 블로그

코딩테스트

[코딩테스트] 가위 바위 보

2022. 10. 14. 16:39

문제 설명

가위는 2 바위는 0 보는 5로 표현합니다. 가위 바위 보를 내는 순서대로 나타낸 문자열 rsp가 매개변수로 주어질 때, rsp에 저장된 가위 바위 보를 모두 이기는 경우를 순서대로 나타낸 문자열을 return하도록 solution 함수를 완성해보세요.


제한사항
  • 0 < rsp의 길이 ≤ 100
  • rsp와 길이가 같은 문자열을 return 합니다.
  • rsp는 숫자 0, 2, 5로 이루어져 있습니다. - - -
입출력 예rspresult
"2" "0"
"205" "052"

입출력 예 설명

입출력 예 #1

  • "2"는 가위이므로 바위를 나타내는 "0"을 return 합니다.

입출력 예 #2

  • "205"는 순서대로 가위, 바위, 보이고 이를 모두 이기려면 바위, 보, 가위를 순서대로 내야하므로 “052”를 return합니다.

 

function solution(rsp) {
    return rsp.split('').map((x)=> {
        if(x == 2) return 0
        else if(x == 0) return 5
        else return 2
    }).join('')
}

저는 split을 사용 하고 if 문으로 처리를 했지만 == 은 안티 패턴으로 개선을 해야만 합니다.

function solution(rsp) {
    return rsp.split('').map((x)=> {
        x = parseInt(x)
        if(x === 2) return 0
        else if(x === 0) return 5
        else return 2
    }).join('')
}

 그래서 x 를 parseInt 로 변경해주었지만 좋은 방법일지 잘 모르겠습니다. 

 

다른 분들의 풀이로 많이 배워야 될것 같습니다.

function solution(rsp) {
    return rsp.split("").map((v) => v==="2" ? 0 : (v==="0" ? 5 : 2)).join("")
}



function solution(rsp) {
    let arr = {
        2: 0,
        0: 5,
        5: 2
    };
    var answer = [...rsp].map(v => arr[v]).join("");
    return answer;
}

 

 

저작자표시 비영리 변경금지 (새창열림)

'코딩테스트' 카테고리의 다른 글

[코딩테스트] 배열의 유사도  (0) 2022.10.15
[코딩테스트] 제곱수 판별하기  (0) 2022.10.15
[코딩테스트] 세균 증식  (0) 2022.10.14
[코딩테스트] 문자열 다루기 기본  (0) 2022.10.06
[코딩테스트] 문자열 내림차순으로 배치하기  (0) 2022.10.01
    '코딩테스트' 카테고리의 다른 글
    • [코딩테스트] 배열의 유사도
    • [코딩테스트] 제곱수 판별하기
    • [코딩테스트] 세균 증식
    • [코딩테스트] 문자열 다루기 기본
    개발자 혜진
    개발자 혜진
    잊어버리지 않기위한 개발 블로그

    티스토리툴바