[백준/30425] Re-verse - JAVA

이지환·2024년 1월 14일

알고리즘(백준) 💻

목록 보기
29/80
post-thumbnail

📌 문제

알고리즘 분류 : 그리디
난이도 : 실버1
출처 : 백준 - Re-verse

🦧 문제 풀이 접근

이중 for문을 이용해서 입력받은 문자열과 최대한 많이 곂게 했을 경우의 글자수를 계산한다.

💻 code

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int N = Integer.parseInt(br.readLine());
        String Alpha = br.readLine();
        int routine = N;
        for(int i=1;i<N;i++) {
            boolean check = false;
            for(int j=i;j<N;j++) {
                if(Alpha.charAt(j-i)!=Alpha.charAt(j)) {
                    check = true;
                    break;
                }
            }
            if(!check) {
                routine = i;
                break;
            }
        }
        System.out.println((N-1)/routine+1);
    }
}

🥇 결과

🎓 느낀점

ABABA같은 경우를 잘 고려하여 계산하면 어렵지 않게 풀 수 있다.

profile
takeitEasy

0개의 댓글