군 전략가 머쓱이는 전쟁 중 적군이 다음과 같은 암호 체계를 사용한다는 것을 알아냈습니다.
문자열 cipher와 정수 code가 매개변수로 주어질 때 해독된 암호 문자열을 return하도록 solution 함수를 완성해주세요.
cipher | code | result |
---|---|---|
"dfjardstddetckdaccccdegk" | 4 | "attack" |
"pfqallllabwaoclk" | 2 | "fallback" |
입출력 예 #1
"dfjardstddetckdaccccdegk" 의 4번째, 8번째, 12번째, 16번째, 20번째, 24번째 글자를 합친 "attack"을 return합니다.
입출력 예 #2
"pfqallllabwaoclk" 의 2번째, 4번째, 6번째, 8번째, 10번째, 12번째, 14번째, 16번째 글자를 합친 "fallback"을 return합니다.
class Solution {
public String solution(String cipher, int code) {
String answer = "";
String[] cipherArr = cipher.split("");
for(int i = 0 ; i < cipherArr.length ; i++){
if((i+1) % code == 0){
answer += cipherArr[i];
}
}
return answer;
}
}
아니... 조건문 만드는데 왜 헷갈렸지?? 다시 생각해도 이해 안됨. 금방 풀 문제였는데 왜...
원래 생각은 code 자리수마다 split 해서 마지막 문자열을 추출하려고했는데 regex 조건에서 index로 반복 문자 추출하는걸 찾아도 찾을 수가 없었다... 아쉽...
그나마 생각했던 것과 비슷한 풀이가 아래가 아닐까.
class Solution {
public String solution(String cipher, int code) {
String answer = "";
for(int i=code-1; i<cipher.length(); i+=code){
answer += cipher.substring(i, i+1);
}
return answer;
}
}
참고사이트: https://school.programmers.co.kr/learn/courses/30/lessons/120892/solution_groups?language=java