-
728x90
문제 설명
군 전략가 머쓱이는 전쟁 중 적군이 다음과 같은 암호 체계를 사용한다는 것을 알아냈습니다.
암호화된 문자열cipher
를 주고받습니다.
그 문자열에서code
의 배수 번째 글자만 진짜 암호입니다.
문자열cipher
와 정수code
가 매개변수로 주어질 때 해독된 암호 문자열을 return하도록 solution 함수를 완성해주세요.제한 사항
- 1 ≤
cipher
의 길이 ≤ 1,000 - 1 ≤ code ≤ cipher의 길이
cipher
는 소문자와 공백으로만 구성되어 있습니다.- 공백도 하나의 문자로 취급합니다.
답안
class Solution { public String solution(String cipher, int code) { String answer = ""; String[] arr = cipher.split(""); for(int i=code-1; i<arr.length; i+=code) { answer+=arr[i]; } return answer; } }
cipher
문자열에서code
의 배수에 있는 단어들을 조합해야 하기 때문에 우선split()
을 통해 문자열을 배열로 만들어주고 for문을 돌면서 code 위치에 있는 문자열을 더해준다.이 때, for문 처음 시작점은
code-1
로 code는 index값이 아닌 자리값이기 때문에 -1을 해준다. 그리고 i의 증감값에 code를 더해서 code 배수 위치를 지정한다.참고
문자열.split("구분자")
: 문자열을 구분자를 이용해 잘라서 배열로 리턴해주는 함수, 구분자가 없는 경우 한글자씩 잘라서 배열로 리턴
728x90'algorithm' 카테고리의 다른 글
자바 알고리즘 - 가까운 수 (0) 2023.09.05 자바 알고리즘 - 369게임 (0) 2023.09.04 자바 알고리즘 - 대문자와 소문자 (0) 2023.09.04 자바 알고리즘 - 영어가 싫어요 (0) 2023.09.04 자바 알고리즘 - 인덱스 바꾸기 (0) 2023.09.02 - 1 ≤