99클럽 코테 스터디 9일차 TIL

수삼·2024년 11월 5일
0

코딩테스트

목록 보기
14/44

import java.io.*;
import java.util.*;

public class Main {
    public static void main(String[] args) throws IOException {

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        int cnt = Integer.parseInt(br.readLine());

        List<String> org = new ArrayList<>();
        List<String> reversed = new ArrayList<>();

        StringBuffer sb = null;

        for (int i = 0; i < cnt; i++) {
            StringTokenizer st = new StringTokenizer(br.readLine());
            String word = st.nextToken();
            org.add(word);
            sb = new StringBuffer(word);
            reversed.add(sb.reverse().toString());
        }

        org.retainAll(reversed);

        if(!org.isEmpty()) {
            int len = org.get(0).length();
            System.out.print(len + " " + org.get(0).charAt(len/2));
        }
        br.close();
    }
}

대칭인 단어를 찾는 문제다. palindrome이라고 한다.

  1. StringTokenzier쓸 때 trim을 사용해 공백을 제거할 수 있음
  2. StringBuffer라는 클래스를 쓰면 reverse메소드 사용 가능

0개의 댓글