주니어 기초 코딩공부/JAVA_programmers_코딩테스트

가위 바위 보_programmers_lev00

jju_developer 2022. 12. 4. 20:08
728x90

<코딩 테스트>

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

 

<나의 풀이 과정>

받는 rsp가 하나면 배열을 쓰지 않아도 생성이 가능하지만,

여러개의 rsp가 존재 한다면 배열을 통해 하나하나 집어 넣은 후 해당 배열을 이길 수 있도록 코딩하였습니다.

 

<나의 풀이 코드>

class Solution {
    public String solution(String rsp) {
		String answer = "";
		String[] arr = rsp.split("");
		for (String string : arr) {
			if (string.equals("0")) {
				answer += "5";
			}
			if (string.equals("2")) {
				answer += "0";
			}
			if (string.equals("5")) {
				answer += "2";
			}
		}return answer;
	}
}

<다른사람 풀이 1>

import java.util.Arrays;
import java.util.stream.Collectors;

class Solution {
    public String solution(String rsp) {
        return Arrays.stream(rsp.split("")).map(s -> s.equals("2") ? "0" : s.equals("0") ? "5" : "2").collect(Collectors.joining());
    }
}

 

<다른사람 풀이 2>

class Solution {
    public String solution(String rsp) {
        char[] cRsp = rsp.toCharArray();
        StringBuilder answer = new StringBuilder();

        for(int i=0; i < cRsp.length; i++) {
            switch(cRsp[i]) {
                case '0' :
                    answer.append("5");
                    break;
                case '2' :
                    answer.append("0");
                    break;
                case '5' :
                    answer.append("2");
                    break;
            }
        }
        return answer.toString();

    }
}
728x90