문제 접근
문자열을 반으로 잘라서 자른 두 문자열이 같아야 된다로 이해했다.
해당 문자열을 char 배열로 생성
그리고 문자열 길이가 홀수면 두 문자열이 같을 수 없으니 홀수면 바로 No 출력
짝수일 경우 자른 두 문자열의 첫 문자부터 비교해 나간다.
전체 문자열 길이의 반을 이용하면 두 문자열의 문자들을 비교해 나갈 수 있다.
비교하면서 같지 않으면 No
같다면 cnt로 횟수 세면서 문자열 길이의 반과 같아지면 Yes 출력
// SWEA
import java.util.*;
import java.io.*;
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int T = Integer.parseInt(br.readLine());
for(int t=1; t<=T; t++) {
int N = Integer.parseInt(br.readLine());
String str = br.readLine();
char[] ch = str.toCharArray();
if(N % 2 != 0) System.out.println("#"+ t +" No");
else {
int num = str.length()/2;
int cnt = 0;
for(int i=0; i<str.length()/2; i++) {
if(ch[i] != ch[i+num]) {
System.out.println("#"+ t +" No");
break;
}
else {
cnt++;
}
}
if(cnt == num) System.out.println("#"+ t+" Yes");
}
}
}
}
'알고리즘 > SWEA' 카테고리의 다른 글
[SWEA / 창용 마을 무리의 개수 / JAVA / DFS] (0) | 2023.07.16 |
---|---|
[SWEA / String / JAVA] (0) | 2023.07.13 |
[SWEA / 진기의 최고급 붕어빵 / JAVA] (0) | 2023.05.20 |
[SWEA / 부분 수열의 합 / JAVA] (0) | 2023.05.20 |
[SWEA / 햄버거 다이어트 / JAVA] (0) | 2023.05.20 |
댓글