結果
| 問題 |
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]
}
}
}
tsuchinaga