inblog logo
|
moohyun
    알고리즘문제풀기

    암호 해독

    난이도 하
    화낼거양's avatar
    화낼거양
    Mar 10, 2025
    암호 해독
    Contents
    정답
     
    출처 : https://school.programmers.co.kr/learn/courses/30/lessons/120892
     

    문제 설명

    군 전략가 머쓱이는 전쟁 중 적군이 다음과 같은 암호 체계를 사용한다는 것을 알아냈습니다.
    • 암호화된 문자열 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):
        • 시작 인덱스 i를 code - 1로 설정합니다. 이는 코드 매개변수를 기반으로 첫 번째 추출할 문자의 위치를 결정합니다.
        • 루프는 i가 cipher 문자열의 길이보다 작은 동안 반복됩니다.
        • 각 반복마다 i는 code만큼 증가합니다.
    • 문자 추출 및 추가:
      • answer += cipher.charAt(i);:
        • cipher.charAt(i)를 사용하여 현재 인덱스 i 위치의 문자를 가져와 answer 문자열에 추가합니다.
    Share article
    Contents
    정답

    moohyun

    RSS·Powered by Inblog