암호 해독

난이도 하
화낼거양's avatar
Mar 10, 2025
암호 해독
Contents
정답
 
 

문제 설명

군 전략가 머쓱이는 전쟁 중 적군이 다음과 같은 암호 체계를 사용한다는 것을 알아냈습니다.
  • 암호화된 문자열 cipher를 주고받습니다.
  • 그 문자열에서 code의 배수 번째 글자만 진짜 암호입니다.
문자열 cipher와 정수 code가 매개변수로 주어질 때 해독된 암호 문자열을 return하도록 solution 함수를 완성해주세요.

제한사항

  • 1 ≤ cipher의 길이 ≤ 1,000
  • 1 ≤ code ≤ cipher의 길이
  • cipher는 소문자와 공백으로만 구성되어 있습니다.
  • 공백도 하나의 문자로 취급합니다.

입출력 예

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 = ""; return answer; } }
 
 

정답

 
class Solution { public String solution(String cipher, int code) { String answer = ""; for (int i = code - 1; i < cipher.length(); i += code) { answer += cipher.charAt(i); } return answer; } }
 
 
  • for 루프:
    • for (int i = code - 1; i < cipher.length(); i += code):
      • 시작 인덱스 icode - 1로 설정합니다. 이는 코드 매개변수를 기반으로 첫 번째 추출할 문자의 위치를 결정합니다.
      • 루프는 icipher 문자열의 길이보다 작은 동안 반복됩니다.
      • 각 반복마다 icode만큼 증가합니다.
  • 문자 추출 및 추가:
    • answer += cipher.charAt(i);:
      • cipher.charAt(i)를 사용하여 현재 인덱스 i 위치의 문자를 가져와 answer 문자열에 추가합니다.
Share article

moohyun