Closed9

paizaでClojureの勉強 - 標準入力サンプル問題セット

むらむーむらむー

https://paiza.jp/works/mondai/stdin/stdin_n_line

(defn readlines [line-lenght]
  (take line-lenght (repeatedly read-line)))

(defn read-int-value-line []
  (Integer/parseInt (read-line)))

(doseq [line (readlines (read-int-value-line))]
  (println line))

Clojureは動的型付け言語ではあるが、JSとかPythonとは違ってintegerに変換してあげないとdoseqでエラーになる。

むらむーむらむー

https://paiza.jp/works/mondai/stdin/stdin_n

(defn read-int-value-line []
  (Integer/parseInt (read-line)))

(defn split-line-by-space [line]
  (clojure.string/split line #" "))

(let [n (read-int-value-line)]
  (let [values (split-line-by-space (read-line))]
    (cond
      (= n (count values))
          (doseq [value values]
            (println value))
      :else
          (throw (Exception. "invalid input"))
    )
  )
)

一応、nとデータの件数が一致していることをチェックする処理を入れています。

むらむーむらむー

https://paiza.jp/works/mondai/stdin/stdin_comma_n

(defn read-int-value-line []
  (Integer/parseInt (read-line)))

(defn split-line-by-comma [line]
  (clojure.string/split line #","))

(let [n (read-int-value-line)]
  (let [values (split-line-by-comma (read-line))]
    (cond
      (= n (count values))
          (doseq [value values]
            (println value))
      :else
          (throw (Exception. "invalid input"))
    )
  )
)
むらむーむらむー

簡単なコードでもいつも使ったている言語とは書き方が全然違ってて、まだなかなか慣れない。

このスクラップは2023/06/24にクローズされました