반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 삼성소프트웨어아카데미
- 알고리즘
- NestJS
- 인프런
- 자료구조
- stack
- 그리디알고리즘
- mybatis
- 스텍
- 코딩테스트
- java
- 카카오
- javascript
- 삼성
- 자바
- js
- 자바스크립트
- 프로그래머스
- 중간 평균값 구하기
- 콜백지옥
- 코테준비
- array
- 배열
- SWEA
- 정렬
- AtoZ0403
- 코테
- 코딩
- spring
- 백준
Archives
- Today
- Total
개발에 AtoZ까지
[JAVA][D2] 2007. 패턴 마디의 길이 본문
반응형
※ 개인적으로 해당 문제는 모호한 경우가 있습니다. 풀이할때 마디의 최소값을 구했습니다.
더보기
테스트 케이스
KOREAKOREAKOREAKOREAKOREAKOREA
인 경우 SWEA에서 제공한 답은 KOREA 패턴으로 하는 마디 5개이나,KOREAKOREA 이렇게 또한 패턴으로 볼수있기에 애매합니다.그래서 마디의 최소값인 경우로 풀이하였습니다.문제
패턴에서 반복되는 부분을 마디라고 부른다. 문자열을 입력 받아 마디의 길이를 출력하는 프로그램을 작성하라.
[제약 사항]
각 문자열의 길이는 30이다. 마디의 최대 길이는 10이다.
[입력]
가장 첫 줄에는 테스트 케이스의 개수 T가 주어지고, 그 아래로 각 테스트 케이스가 주어진다.
각 테스트 케이스의 첫 번째 줄에는 길이가 30인 문자열이 주어진다.
[출력]
출력의 각 줄은 '#t'로 시작하고, 공백을 한 칸 둔 다음 정답을 출력한다.
(t는 테스트 케이스의 번호를 의미하며 1부터 시작한다.)
예시
풀이
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class Solution {
public static void main(String[] args) {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
try {
//테스트 개수
int N = Integer.parseInt(br.readLine());
for(int i=1;i<=N;i++) {
String str = br.readLine();
StringBuilder sb= new StringBuilder();
int count=1;
//초기값 설정
sb.append(str.charAt(0));
//sb에 담긴 글자와 str에서 sb에 담긴 글자 이후~sb길이만큼의 문자를 잘라 비교함
//비교해서 같다면 패턴의 구간을 확인한 경우
while(!sb.toString().equals(str.substring(sb.length(), sb.length()*2))) {
sb.append(str.charAt(count));
count++;
}
System.out.println("#"+i+" "+sb.length());
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
반응형
'코딩테스트 준비 > SWEA' 카테고리의 다른 글
[JAVA][D1] 2046. 스탬프 찍기 (0) | 2021.01.04 |
---|---|
[JAVA][D1] 2047. 신문 헤드라인 (0) | 2021.01.04 |
[JAVA][D1] 2050. 알파벳을 숫자로 변환 (0) | 2021.01.04 |
[JAVA][D2] 1926. 간단한 369게임 (0) | 2021.01.03 |
[JAVA][D1] 2056. 연월일 달력 (0) | 2021.01.03 |
[JAVA][D1] 2058. 자릿수 더하기 (0) | 2021.01.03 |
[JAVA][D1] 2063. 중간값 찾기 (0) | 2021.01.03 |
Comments