Coding Test
(CodingTest) : 10일차 가위 바위 보
Santino
2025. 2. 14. 23:45
1) 내가 쓴 답 (정답 / 비효율적)
class Solution {
public String solution(String rsp) {
String answer = ""; // 중복 선언 제거
String[] str = rsp.split(""); // "205" -> ["2", "0", "5"]
for (String s : str) {
int rspInt = Integer.valueOf(s); // "2" -> 2
if (rspInt == 2) {
answer += "0";
} else if (rspInt == 0) {
answer += "5";
} else if (rspInt == 5) {
answer += "2"; // 세미콜론 추가 ✅
}
}
return answer;
}
}
2) 다른 방법 (정답 / 효율적)
# 모르거나 헷갈린 부분
- rsp.toCharArray() 를 사용하면, 문자열을 문자 배열로 변환해줌
- StringBuilder 변수인 answer.append()를 활용하면, String을 반복 생성하지 않고 추가 가능
answer.append('0')
class Solution {
public String solution(String rsp) {
StringBuilder answer = new StringBuilder();
for (char c : rsp.toCharArray()) { // 문자열을 문자 배열로 변환
if (c == '2') {
answer.append('0');
} else if (c == '0') {
answer.append('5');
} else if (c == '5') {
answer.append('2');
}
}