☑️ 내가 쓴 답 (정답)
✔ 체크 할 부분
1) 배열의 길이를 고려해서, 예시로 데이터를 넣어보면서 실제로 해당 값이 출력되는지 계속 테스트 해보기
// cypher에서 code의 배수의 값만 answer에 추가를 해서, 결과를 반환해보기
// 배수의 값을 answer = 값 + ""; 형태로 진행해보기
class Solution {
public String solution(String cipher, int code) {
String answer = "";
String[] toArray = cipher.split(""); // cipher를 ""로 나누기, []배열 안에 cypher각각의 값이 포함
int c = 0;
// c의 값은 기존 c * code형태로 되어야 함
// cipher을 split("")으로 나눠서, cipher[c]위치의 값을 answer에 추가해보기
// String cipher = "eaepepelee"로 예시 테스트
// code = 2로 예시
for(int i = 1; i <= cipher.length()/code; i++){
c = code * i; // 2*1, 2*2, 2*3...
String str = toArray[c-1];
// code가 2라면, cipher[2]의 값을 str에 담기
answer += str; // answer에 str의 값을 추가
}
return answer;
}
}
☑️ 다른 사람의 풀이
✔ 체크 할 부분
1) for문에서 i <= cipher.length(); 부분
< 가 아니라, <=를 해줘야 됨
2) substring(a,b)는 a부터 b의 앞까지의 값이라는 의미
substring의 인덱스는 0부터 시작
// 다른 사람의 풀이 참고해보기
// substring을 사용하여, 해당 값들을 answer에 추가
// for문에서는 i = code로 시작하여, i = i + code; 형식으로 증가
// i = 2 + 2;
// i = 4 + 2;
// i = 6 + 2;
// i = 4 + 4 = 8
// i = 8 + 4 = 12
class Solution {
public String solution(String cipher, int code) {
String answer = "";
for(int i = code; i <= cipher.length(); i = i + code){
answer = answer + cipher.substring(i-1, i); // substring에서 인덱스는 0부터 시작
}
return answer;
}
}
'Coding Test' 카테고리의 다른 글
(SQL > MIN Lev2) : 19일차 최솟값 구하기 (0) | 2025.04.23 |
---|---|
(SQL > MAX Lev2) : 19일차 가격이 제일 비싼 식품의 정보 출력하기 (0) | 2025.04.23 |
(CodingTest) : 24일차 369게임 (0) | 2025.04.22 |
(SQL > SELECT Lev1) : 18일차 흉부외과 또는 일반외과 의사 목록 출력하기 (0) | 2025.04.22 |
(SQL > MAX Lev4) : 17일차 잡은 물고기 중 가장 큰 물고기의 길이 구하기 (0) | 2025.04.14 |