結果
問題 | No.22 括弧の対応 |
ユーザー |
|
提出日時 | 2015-05-28 21:22:13 |
言語 | Go (1.23.4) |
結果 |
AC
|
実行時間 | 13 ms / 5,000 ms |
コード長 | 481 bytes |
コンパイル時間 | 11,181 ms |
コンパイル使用メモリ | 221,340 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-07-20 07:02:09 |
合計ジャッジ時間 | 12,043 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 19 |
ソースコード
package main import "fmt" type Stack []int func (s *Stack) Push(v int) { *s = append(*s, v) } func (s *Stack) Pop() int { ret := (*s)[len(*s)-1] *s = (*s)[0 : len(*s)-1] return ret } func main() { var N, K int var S string fmt.Scan(&N, &K) fmt.Scan(&S) s := Stack(make([]int, 0, N)) match := make([]int, N) for i, r := range S { switch r { case '(': s.Push(i) case ')': m := s.Pop() match[m] = i match[i] = m } } fmt.Println(match[K-1] + 1) }