✨APS (Algorithm Problem Solving)/프로그래머스

[프로그래머스] LV.0 암호 해독 / 자바(JAVA)

Nyan cat 2022. 12. 15. 11:25

 

📜 문제 설명

군 전략가 머쓱이는 전쟁 중 적군이 다음과 같은 암호 체계를 사용한다는 것을 알아냈습니다.

  • 암호화된 문자열 cipher를 주고받습니다.
  • 그 문자열에서 code의 배수 번째 글자만 진짜 암호입니다.

문자열 cipher와 정수 code가 매개변수로 주어질 때 해독된 암호 문자열을 return하도록 solution 함수를 완성해주세요.

 

제한사항

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

입출력 예

🔗 문제 링크

https://school.programmers.co.kr/learn/courses/30/lessons/120892

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

💡 문제 풀이

문자열을 한 글자씩 순회하면서 해당 문자열의 인덱스가 code의 배수일 경우에만 조합해서 새로운 문자열을 만들면 되는 단순한 문제이다.

한 가지 살짝 주의할 점은 문자열의 인덱스는 0부터 시작하지만 문제에서는 시작점을 1로 잡고 풀어야 한다. 그래서 인덱스 마다 1씩 더해준 상태에서 code의 배수인지 확인해주면 된다.

class Solution {
    public String solution(String cipher, int code) {
        String answer = "";
        
        for (int i=0; i<cipher.length(); i++) {
            if ((i + 1) % code == 0) {
                answer += cipher.substring(i, i + 1);
            }
        }
        return answer;
    }
}
반응형