結果

問題 No.22 括弧の対応
ユーザー YamaKasa
提出日時 2018-04-19 16:09:07
言語 Java
(openjdk 23)
結果
AC  
実行時間 176 ms / 5,000 ms
コード長 1,109 bytes
コンパイル時間 2,173 ms
コンパイル使用メモリ 77,604 KB
実行使用メモリ 42,532 KB
最終ジャッジ日時 2024-07-20 07:31:16
合計ジャッジ時間 5,474 ms
ジャッジサーバーID
(参考情報)
judge4 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 19
権限があれば一括ダウンロードができます

ソースコード

diff #

import java.util.Arrays;
import java.util.List;
import java.util.Scanner;

public class Main{
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		int N = scanner.nextInt();
		int K = scanner.nextInt();
		//
		K = K - 1;
		String str = scanner.next();
//		BufferedReader input = new BufferedReader (
//				new InputStreamReader (System.in));
//		try {
//			str = input.readLine();
//		} catch (IOException e) {
//			e.printStackTrace();
//		}
		scanner.close();
		List<String> list = Arrays.asList(str.split(""));


		int count = 0;
		boolean flag1 = true;
		while(flag1) {
			count ++;
			if(count > 20) {
				break;
			}
			for(int i = 0; i < N; i++) {
				if(list.get(i).equals(")")) {
					list.set(i, "0");
					for(int j = i - 1; j > -1; j--) {
						if(list.get(j).equals("(")) {
							list.set(j, "0");
							if(i == K) {
								System.out.println(j + 1);
								flag1 = false;
							}else if(j == K) {
								flag1 = false;
								System.out.println(i + 1);
							}
							break;
						}
					}
				}
				if(flag1 == false) {
					break;
				}
			}
		}
	}
}
0