코딩테스트

[코딩테스트 입문] 가위 바위 보 ★

summ.n 2025. 4. 22. 23:18

🔸 문제 설명

문자열 rsp에는 가위(2), 바위(0), 보(5)가 숫자로 표현되어 들어있습니다.
이 rsp를 입력으로 받아서,
각 선택을 이기는 손 모양을 찾아서 문자열로 반환하는 문제입니다.

 

🔸 가위바위보 대응표

입력 의미 이기는 손
2 ✌ 가위 0 (바위)
0 ✊ 바위 5 (보)
5 ✋ 보 2 (가위)

 

🔸 입출력 예시

입력 rsp 결과
"2" "0"
"205" "052"

 

🔸 정답코드

class Solution {
    public String solution(String rsp) {
        String answer = "";

        for (int i = 0; i < rsp.length(); i++) {
            char c = rsp.charAt(i); // 문자열에서 문자 하나 꺼냄

            if (c == '2')      
            	answer += '0'; // 가위 → 바위
            else if (c == '0') 
            	answer += '5'; // 바위 → 보
            else if (c == '5') 
            	answer += '2'; // 보 → 가위
        }

        return answer;
    }
}

 

 

🔸 코드 설명

 

  • rsp.charAt(i) → 문자열에서 i번째 문자 꺼내기
  • 숫자가 아니라 문자이므로, 반드시 '2', '0', '5'처럼 작은 따옴표('')로 문자 비교
  • 조건문으로 각각 이기는 손을 골라서 answer에 더해줌