1. [Java] 암호 해독 - cipher.charAt(i - 1)
https://school.programmers.co.kr/learn/courses/30/lessons/120892
오답
class Solution {
public String solution(String cipher, int code) {
StringBuilder sb = new StringBuilder();
for (int i = code; i <= cipher.length(); code++;) {
sb.append(cipher[i-1]); // 인덱스는 0부터 시작
}
return sb.toString();
}
}
✅ for문의 증가식 오류
for (int i = code; i <= cipher.length(); code++;)
- → code++→ 증가식 자리에 있어야 할 변수는 i (반복 제어 변수)
- → code++는 code 값을 계속 바꿔버려서 논리적으로도 틀림
✅ 문자열 인덱스 접근 오류
- Java에서 문자열은 []로 접근 불가 → charAt(index) 사용해야 함
정답 코드
class Solution {
public String solution(String cipher, int code) {
StringBuilder sb = new StringBuilder();
for (int i = code; i <= cipher.length(); i += code) {
sb.append(cipher.charAt(i - 1)); // 인덱스는 0부터 시작
}
return sb.toString();
}
}