가위 바위 보
가위는 2 바위는 0 보는 5로 표현합니다. 가위 바위 보를 내는 순서대로 나타낸 문자열 rsp가 매개변수로 주어질 때, rsp에 저장된 가위 바위 보를 모두 이기는 경우를 순서대로 나타낸 문자열을 return하도록 solution 함수를 완성해보세요.
0 < rsp의 길이 ≤ 100
rsp와 길이가 같은 문자열을 return 합니다.
rsp는 숫자 0, 2, 5로 이루어져 있습니다.
실행시간 : 0.14ms ~ 0.34ms
for 과 조건문 if 을 활용해 배열의 인덱스 0번 부터 해당하는 값을 넣어준다.class Solution {
public String solution(String rsp) {
StringBuffer buffer = new StringBuffer();
String[] arr = rsp.split("");
for (int i = 0; i < arr.length; i++) {
if(arr[i].equals("2")) {
buffer.append("0");
} else if (arr[i].equals("0")) {
buffer.append("5");
} else {
buffer.append("2");
}
}
return buffer.toString();
}
}
실행시간 : 0.07ms ~ 0.13ms
속도 향상을 위해 for 문과 switch 문을 사용해주는 방법으로, if문을 사용해주는 것보다 속도가 빠르다.
class Solution {
public String solution(String rsp) {
StringBuffer buffer = new StringBuffer();
for (int i = 0; i < rsp.length(); i++) {
switch (rsp.charAt(i)) {
case '2' :
buffer.append("0");
break;
case '0' :
buffer.append("5");
break;
case '5' :
buffer.append("2");
break;
}
}
return buffer.toString();
}
}