문제
군 전략가 머쓱이는 전쟁 중 적군이 다음과 같은 암호 체계를 사용한다는 것을 알아냈습니다.
암호화된 문자열 cipher를 주고받습니다.
그 문자열에서 code의 배수 번째 글자만 진짜 암호입니다.
문자열 cipher와 정수 code가 매개변수로 주어질 때 해독된 암호 문자열을 return하도록 solution 함수를 완성해주세요.
내 풀이
public String solution(String cipher, int code) {
String answer = "";
for (int i = 1; i <= cipher.length(); i++) {
if (i % code == 0) {
answer += cipher.charAt(i - 1);
}
}
return answer;
}cipher문자열의 index를 1부터시작해서 각 배수를 가져옴
for문은 i가 그 배수일때마다 값을 누적하는 코드를 작성
실제로 그 index는 i-1번째니 charAt(i - 1)을 해준다.
ex) 2번째문자(index는 0부터니 실제로는 1번)
강시님 풀이
for (int i = code; i <= cipher.length(); i += code) {
answer += cipher.charAt(i - 1);
}code부터시작해서 code를 증감하는 식
if연산을 안해도되니 더빠를 듯하다.
'문제 풀이 > 프로그래머스' 카테고리의 다른 글
| 프로그래머스 lv0 제곱수판별하기 (0) | 2023.02.22 |
|---|---|
| 프로그래머스 lv0 모음제거 (0) | 2023.02.22 |
| 프로그래머스 lv0 배열자르기 (0) | 2023.02.21 |
| 프로그래머스 lv0 369게임 (0) | 2023.02.20 |
| 프로그래머스 lv0 문자열 뒤집기 (0) | 2023.02.20 |