結果

問題 No.486 3 Straight Win(3連勝)
コンテスト
ユーザー kitamoto0407
提出日時 2026-01-31 22:52:55
言語 Java
(openjdk 25.0.2)
結果
AC  
実行時間 48 ms / 2,000 ms
コード長 1,457 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 2,629 ms
コンパイル使用メモリ 81,740 KB
実行使用メモリ 44,808 KB
最終ジャッジ日時 2026-01-31 22:53:00
合計ジャッジ時間 4,904 ms
ジャッジサーバーID
(参考情報)
judge4 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 28
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

import java.io.*;

// 処理
class Process {
    private String S;

    Process(String S) {
        this.S = S;
    }

    String getResult() {
        if(S.length() < 3) {
            return "NA";
        }

        int westContinuousWinCount = 0;
        int eastContinuousWinCount = 0;
        for(int i = 0; i < S.length(); i++) {
            if(S.charAt(i) == 'O') {
                eastContinuousWinCount++;

                if((i != 0) && (S.charAt(i - 1) == 'X')) {
                    westContinuousWinCount = 0;
                }
            } else {
                westContinuousWinCount++;

                if((i != 0) && (S.charAt(i - 1) == 'O')) {
                    eastContinuousWinCount = 0;
                }
            }

            if(eastContinuousWinCount == 3) {
                return "East";
            }

            if(westContinuousWinCount == 3) {
                return "West";
            }
        }

        return "NA";
    }
}

public class Main {
    public static void main(String[] args) throws IOException {
        var bufferedReader = new BufferedReader(new InputStreamReader(System.in));
        var printWriter    = new PrintWriter(new BufferedWriter(new OutputStreamWriter(System.out)));

        // 入力
        String S = bufferedReader.readLine().trim();

        // 出力
        printWriter.println((new Process(S)).getResult());

        bufferedReader.close();
        printWriter.close();
    }
}
0