結果
問題 | No.22 括弧の対応 |
ユーザー | tsuchinaga |
提出日時 | 2019-02-27 09:28:24 |
言語 | Go (1.23.4) |
結果 |
AC
|
実行時間 | 11 ms / 5,000 ms |
コード長 | 486 bytes |
コンパイル時間 | 16,515 ms |
コンパイル使用メモリ | 232,932 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-07-20 07:41:00 |
合計ジャッジ時間 | 14,742 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 19 |
ソースコード
package main import "fmt" func main() { var n, k int s := "" _, _ = fmt.Scan(&n, &k, &s) b := make([]int, 0) // 開き括弧の位置 sets := make(map[int]int, 0) // 開始位置: 終了位置のマップ for i, c := range s { if string(c) == "(" { b = append(b, i) } else { if b[len(b)-1] == k-1 { fmt.Println(i + 1) break } else if i == k-1 { fmt.Println(b[len(b)-1] + 1) break } sets[b[len(b)-1]] = i b = b[:len(b)-1] } } }