47-1. 가위 바위 보

박은서's avatar
Jan 16, 2026
47-1. 가위 바위 보
2026.01.16(FRI)_47일차

1. 문제

문제 설명

가위는 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합니다.

2. 풀이

class Solution { public String solution(String rsp) { String answer = ""; for (int i = 0; i < rsp.length(); i++) { if (rsp.substring(i,i+1).equals("2")) answer += "0"; else if (rsp.substring(i,i+1).equals("0")) answer += "5"; else answer += "2"; } return answer; } }

3. 다른 사람의 풀이

import java.util.HashMap; import java.util.Map; class Solution { public String solution(String rsp) { //2 - 가위, 0 - 바위, 5 - 보 Map<String, String> winNumbers = new HashMap<>(); winNumbers.put("2", "0"); winNumbers.put("0", "5"); winNumbers.put("5", "2"); StringBuilder answer = new StringBuilder(); for (int i = 0; i < rsp.length(); i++) { answer.append(winNumbers.get(rsp.substring(i, i+1))); } return answer.toString(); } }
 
Share article