Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- margin-left
- js
- flex item
- 프로그래머스 lv0
- javascript
- 호이스팅
- 자바스크립트
- 코딩테스트 lv0
- 국비지원
- Flex Container
- 변수 선언
- 바이트디그리
- 패스트캠퍼스
- SVG
- React
- K디지털기초역량훈련
- CSS
- API
- 리액트
- 나라사랑카드
- 코딩테스트 js
- 노드
- 내일배움카드
- react강의
- flex
- DOM
- js split
- 프로그래머스 JS
- html
- udemy
Archives
- Today
- Total
꺾이지 않는 마음
[프로그래머스] Lv.0 가위 바위 보 JS 풀이 본문
🧡문제 설명
가위는 2 바위는 0 보는 5로 표현합니다. 가위 바위 보를 내는 순서대로 나타낸 문자열 rsp가 매개변수로 주어질 때, rsp에 저장된 가위 바위 보를 모두 이기는 경우를 순서대로 나타낸 문자열을 return하도록 solution 함수를 완성해보세요.
💛제한사항
- 0 < rsp의 길이 ≤ 100
- rsp와 길이가 같은 문자열을 return 합니다.
- rsp는 숫자 0, 2, 5로 이루어져 있습니다.
💚입출력 예
rsp | result |
"2" | "0" |
"205" | "052" |
💙입출력 예 설명
입출력 예 #1
- "2"는 가위이므로 바위를 나타내는 "0"을 return 합니다.
입출력 예 #2
- "205"는 순서대로 가위, 바위, 보이고 이를 모두 이기려면 바위, 보, 가위를 순서대로 내야하므로 “052”를 return합니다.
✨나의 풀이
💜 for of 반복문 활용
function solution(rsp) { let answer = ""; for (let i of rsp) { if (i==="2") { i = "0"; answer += i; } else if (i==="0") { i = "5"; answer += i; } else { i = "2"; answer += i; } } return answer }
for of 반복문을 사용하여 문자열의 문자를 하나씩 순회한 후, 조건문을 사용하여 각 문자를 변환해주었다.
그냥 반복문이랑 조건문만 쓸 줄 알면 굉장히 풀기 쉬운 문제인데, 분명 이런 방식 말고 색다른 풀이가 있을 거 같았다.
😮다른 풀이
/* 가위는 2 바위는 0 보는 5 */ function solution(rsp) { let arr = { 2: 0, 0: 5, 5: 2 }; var answer = [...rsp].map(v => arr[v]).join(""); return answer; }
다른 사람의 풀이를 보다가 창의적인 것 같아서 가져와봤다.
가위 바위 보에 대응하는 수를 객체의 프로퍼티 형식으로 만든 후 map 함수를 쓴 풀이법이다.
일대일로 대응하는 수를 객체의 프로퍼티로 생성해서 활용했다는 점이 인상 깊다.
나도 이런 풀이를 언제쯤 혼자 생각해볼 수 있을까 ㅠㅠ
'코딩테스트 기록' 카테고리의 다른 글
[프로그래머스] Lv.0 2차원으로 만들기 JS 풀이 (0) | 2022.10.29 |
---|---|
[프로그래머스] Lv.0 합성수 찾기 JS 풀이 (0) | 2022.10.28 |
[프로그래머스] Lv.0 대문자와 소문자 JS 풀이 (0) | 2022.10.27 |
[프로그래머스] Lv.0 모음 제거 JS 풀이 (0) | 2022.10.27 |
[프로그래머스] Lv.0 문자 반복 출력하기 JS 풀이 (0) | 2022.10.27 |
Comments