2026.03.15 일

권순찬·2026년 3월 16일

천천히 꾸준히

목록 보기
13/50

오늘 푼 문제

가희와환승역_34670

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;

public class 가희와환승역_34670 {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

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

        for (int i = 0; i < q; i++) {
            int n = Integer.parseInt(br.readLine());
            String sub = "";
            boolean check = true;

            if (n == 1) {
                check = false;
                br.readLine();
            } else {
                StringTokenizer st = new StringTokenizer(br.readLine());

                for (int j = 0; j < n; j++) {
                    String station = st.nextToken();

                    if (station.length() > 4) {
                        check = false;
                        break;
                    } else {
                        String curSub = station.substring(station.length() - 2);
                        if (j != 0) {
                            if (!sub.equals(curSub)) {
                                check = false;
                                break;
                            }
                        }
                        sub = curSub;
                    }
                }
            }

            if (check) {
                bw.write("YES\n");
            } else {
                bw.write("NO\n");
            }
        }

        bw.flush();
        bw.close();
    }
}

풀이 자체는 까다롭지 않았는데, 문제를 이해하는게 까다로웠다..
결과적으로는
1. 환승역이 아닐것
2. 뒤에 붙는 역번호가 같을것
이 2가지를 충족하면 YES, 아니면 NO를 출력하면 됐다.

(그리고 -가 붙어있으면 환승역인데 이걸 -를 찾는게 아니라 길이가 4 초과인 녀석을 찾아주는걸로 대체했다.)
ex - 112 (O) / X112 (O) / 112-1 (X) / X112-1(X)

profile
아직 많이 서툰 개발자

0개의 댓글