
KeyWord : HashSet
HashSet의 특징 : 순서는 상관없고, 중복값은 제외
StringBuilder
문자열을 변경할 때 불변(immutable)인 String 클래스와는 달리, StringBuilder는 가변(mutable) 객체로 문자열을 자유롭게 조작할 수 있어 성능에 유리합니다. 이를 통해 반복적인 문자열 추가, 수정, 삭제 작업을 효율적으로 수행할 수 있습니다.
- append(String str): 문자열을 객체의 끝에 추가합니다.
- insert(int offset, String str): 특정 위치에 문자열을 삽입합니다.
- delete(int start, int end): 시작 위치와 끝 위치를 지정하여 문자열의 일부분을 삭제합니다.
- replace(int start, int end, String str): 특정 범위의 문자열을 새 문자열로 대체합니다.
- reverse(): 문자열의 순서를 뒤집습니다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashSet;
import java.util.Set;
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());
Set<String> set = new HashSet<>();
for(int i =0; i<N; i++){
String str = br.readLine();
set.add(str);
StringBuilder sb = new StringBuilder(str);
String reverseStr = sb.reverse().toString();
if(set.contains(reverseStr)){
int strLength = str.length();
System.out.println(strLength +" "+reverseStr.charAt(strLength/2));
break;
}
}
}
}