공부하기/백준

[Java] 백준 풀기 23080 - 스키테일 암호

XEV 2023. 4. 2. 23:43

자바 백준 23080번

브론즈 3

https://www.acmicpc.net/problem/23080

 

23080번: 스키테일 암호

첫 번째 줄에 막대의 굵기 \(K\)가 주어진다. 두 번째 줄에 알파벳 소문자만으로 구성된 암호문 \(S\)가 주어진다.

www.acmicpc.net

 

 

 

 

 

문제 보기

분류: 구현, 문자열

 

 

 

 

 

문제 풀기

암호의 각 알파벳을 array 에 분리하여 입력 받고 그 array index 에서 막대의 굵기로 나눈 나머지가 0 인 value 를 순서대로 출력한다.

 

Scanner(System.in) 으로 입력 받은 String 문자열을 toCharArray() 함수를 사용하여 개별적으로 분리하여 저장한다.

막대의 굵기에 따라 성립되는 암호의 각 알파벳은 array 에 저장된 index 에 규칙적으로 출현하는데 그 규칙은 index % k == 0 을 따른다.

따라서 char[] array 로 저장된 문자들을 for loop 을 돌리고 i 를 k 로 나눈 나머지가 0 인 경우 value 에 해당하는 알파벳을 순차적으로 출력한다.

 

 

 

 

 

코드 보기

import java.util.Scanner;

public class Main {
    public static void main(String args[]) {
        
        Scanner sc = new Scanner(System.in);
        
        int k = sc.nextInt();
        char[] s = sc.next().toCharArray();
        
        for (int i = 0; i < s.length; i++) {
            if (i % k == 0) {
                System.out.print(s[i]);
            }
        }

    }
}