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');
}
}
'Coding Test' 카테고리의 다른 글
(CodingTest) : 12일차 10000000을 1,000,000로 변환 (0) | 2025.02.19 |
---|---|
(CodingTest) : 11일차 손코딩 대비 / 기초 문제2 (queue,stack) (0) | 2025.02.15 |
(CodingTest) : 10일차 손코딩 대비 / 기초 문제2 (0) | 2025.02.14 |
SQL) WHERE 1 = 1 사용 이유? (0) | 2025.02.13 |
(SQL > JOIN) : 8일차 특정 기간동안 대여 가능한 자동차들의 대여비용 구하기 ★★★ (1) | 2025.02.13 |