728x90
<코딩 테스트>
군 전략가 머쓱이는 전쟁 중 적군이 다음과 같은 암호 체계를 사용한다는 것을 알아냈습니다.
암호화된 문자열 cipher를 주고받습니다.
그 문자열에서 code의 배수 번째 글자만 진짜 암호입니다.
문자열 cipher와 정수 code가 매개변수로 주어질 때 해독된 암호 문자열을 return하도록 solution 함수를 완성해주세요.
<나의 풀이 과정>
처음에 배열을 초기화 할때 String[] arr = new String [ cipher.length ];로 초기화를 하면 에러가 나는 부분을
String[] arr = chipher.split으로 변경하여 코딩하였습니다.
그 후 code를 증감식에서 i와 곱하기 하고 싶었으나, 불가하여,
i에 code만큼을 더해주면서 증감식을 진행하였습니다.
<나의 풀이 코드>
class Solution {
public String solution(String cipher, int code) {
String answer = "";
String[] arr = cipher.split("");
for (int i = code; i <= cipher.length();i+=code) {
answer += arr[i-1];
}
return answer;
}
}
<다른사람 풀이 1>
class Solution {
public String solution(String cipher, int code) {
String answer = "";
for (int i = code; i <= cipher.length(); i = i + code) {
answer += cipher.substring(i - 1, i);
}
return answer;
}
}
substring(int beginIndex, int endIndex) 니까 i의 인덱스-1 부터 i 전까지니까 뒤에있는 i는 무시가 됨.
<다른사람 풀이 2>
import java.util.*;
class Solution {
public String solution(String cipher, int code) {
String[] arr = cipher.split("");
StringBuilder sb = new StringBuilder();
int x = code-1;
while(x < arr.length) {
sb.append(arr[x]);
x += code;
}
return sb.toString();
}
}
728x90
'주니어 기초 코딩공부 > JAVA_programmers_코딩테스트' 카테고리의 다른 글
외계행성의 나이_programmers_lev00 (0) | 2022.12.07 |
---|---|
배열 회전시키기_programmers_lev00 (0) | 2022.12.07 |
약수 구하기_programmers_lev00 (0) | 2022.12.05 |
주사위의 개수_programmers_lev00 (0) | 2022.12.05 |
가장 큰 수 찾기_programmers_lev00 (0) | 2022.12.05 |