문제. 2007 패턴 마디의 길이
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!...
swexpertacademy.com
패턴에서 반복되는 부분을 마디라고 부른다. 문자열을 입력 받아 마디의 길이를 출력하는 프로그램을 작성하라.
[제약 사항]
각 문자열의 길이는 30이다. 마디의 최대 길이는 10이다.
[입력]
가장 첫 줄에는 테스트 케이스의 개수 T가 주어지고, 그 아래로 각 테스트 케이스가 주어진다.
각 테스트 케이스의 첫 번째 줄에는 길이가 30인 문자열이 주어진다.
[출력]
출력의 각 줄은 '#t'로 시작하고, 공백을 한 칸 둔 다음 정답을 출력한다.
(t는 테스트 케이스의 번호를 의미하며 1부터 시작한다.)
입력 | 출력 |
3 KOREAKOREAKOREAKOREAKOREAKOREA SAMSUNGSAMSUNGSAMSUNGSAMSUNGSA GALAXYGALAXYGALAXYGALAXYGALAXY |
#1 5
#2 7 #3 6 |
풀이
import java.util.Scanner;
import java.io.FileInputStream;
class Solution
{
public static void main(String args[]) throws Exception
{
Scanner sc = new Scanner(System.in);
int T;
T=sc.nextInt();
for(int test_case = 1; test_case <= T; test_case++)
{
String s = sc.next();
int ans = 0;
boolean ch = false;
for(int i = 1; i < s.length(); i++){
// 같은 영어가 나올때까지 비교
if(s.charAt(0) == s.charAt(i)) {
for(int j = 0; j < i; j++){
// 같은게 나오면 그 이후로 나오는 단어가 모두 같은지 비교
if(s.charAt(j) == s.charAt(j+i)){
ch = true;
}
else {
ch=false;
break;
}
}
}
if(ch == true){
ans = i;
break;
}
}
System.out.println("#" + test_case + " " + ans);
}
}
}
이것도 막 어려운 문제는 아닌것같다.
같은 알파벳이 나올때까지 for를 돌려서 같은 알파벳이 나오는 순간 그 사이의 알파벳을 모두 비교해준다.
문제는 쉬운데 잘못 이해해서 반복되는 단어의 숫자를 몇갠지 알아내는 문제로 봐서 왜 답이 자꾸 틀리나 해맸다.
문제만 좀 더 집중하면 시간 단축할듯.
반응형
'취업이야기' 카테고리의 다른 글
노베이스 & 독학 6주만에 한능검 합격! (2) | 2025.03.25 |
---|---|
SWEA(SW Expert Academy) [d2] 2005. 파스칼의 삼각형 (java) (0) | 2024.04.13 |
SWEA(SW Expert Academy) [d2] 1926. 간단한 369게임 (java) (0) | 2024.04.13 |
SWEA(SW Expert Academy) [d2] 1859. 백만 장자 프로젝트 (java) (0) | 2024.04.13 |
SWEA(SW Expert Academy) [d1] 2047. 신문 헤드라인 (java) (0) | 2024.04.04 |
댓글