극동대학교\AI컴퓨터공학과\JAVA/프로그래머스 코딩테스트 입문

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

sundori 2024. 6. 14. 21:46

목차

    문제 설명

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

    import java.util.stream.Collectors;
    
    class Solution {
        public String solution(String rsp) {
            return rsp.chars()
                      .mapToObj(c -> {
                          switch (c) {
                              case '2': return "0";
                              case '0': return "5";
                              default:  return "2";
                          }
                      })
                      .collect(Collectors.joining());
        }
    }

    rsp.chars() -> 문자열rsp를 IntStream으로 변환하는데 각 문자는 ASCII 코드 형태로 저장된다.

    mapToObj(c -> {})은 각 문자를 스위치문을 사용하여 새로운 문자열로 매핑하며 '2'는 "0"으로, '0'은 "5"로, 그 외의 경우는 "2"로 매핑

    collect(Collectors.joining())은 mapToObj에서 반환된 문자열 요소들을 하나의 문자열로 결합하여 최종적으로 변환된 문자열을 반환.