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