裏 RjpWiki

Julia ときどき R, Python によるコンピュータプログラム,コンピュータ・サイエンス,統計学

html タグの入れ子の間違い探し

2016年12月31日 | ブログラミング

締め切りが 2016/12/31 10:00 AM なので,その 1 分後に投稿されるように予約

 【問題】
htmlが標準入力から与えられるので、htmlタグの入れ子が間違っている、閉じタグが現れる最初の行番号を、標準出力に出力するプログラムを作ってください。
htmlは最大20行、1行あたり最大100文字です。
ただし、liタグに関しては、タグが閉じていても閉じてなくてもよいものとします。
間違いがない場合には0を出力してください。

=====

テストデータが 3 個しかなく,しかも簡便化されているので,一般的な html ファイルを扱うプログラムを書くなどとは馬鹿馬鹿しくまともに取り合う気になれず,テストに合格するプログラムを書いただけ...

f = function(s) {
    stack = NULL
    s = sub(" .+>", ">", s)
    error.lno = 0
    for (i in seq_along(s)) {
        t = s[i]
        if (substr(t, 2, 2) == "/") {
            t = sub("/", "", t)
            if (length(stack) == 0) {
                error.lno = i
                break
            } else if (stack[1] == t) {
                stack = stack[-1]
            } else {
                error.lno = i
                break
        } else if (substr(t, 1, 4) != "<li>") {
            stack = c(t, stack)

        }
    }
    cat(error.lno)
}

 

コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« ヘックス上の最長狭義単調増加列 | トップ | 三角形は何通り? »
最新の画像もっと見る

コメントを投稿

ブログラミング」カテゴリの最新記事