1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【備忘録】JuliaでAtCoderの問題を解くときに使った構文・関数

1
Posted at

タイトル通りです。あくまで備忘録なので、構文や関数の順序は適当ですし、内容も詳しくはないです。本記事では、AtCoder Beginners Selectionを解く際に私が用いた構文や関数を取り上げます。

行ごとの標準入力

Juliaでは、以下の構文を用いて標準入力を行います。
1行ずつ入力を受け取るので入力の行数が大きくなってくると別の方法を使うみたいです。

a = readline()

readline()しただけだと文字列型として入力を受け取ってしまうため、数値型として受け取りたい場合はparse()関数を用いて次のように書きます。parse関数は文字列型->数値型の変換を行う関数です。

a = parse(Int, readline())
b = parse(Float64, readline())

同じ行の空白で区切られた入力を、複数の変数に分けて受け取りたい場合には、 split() 関数を用います。以下のコードでは、空白で区切られた入力をn, a, bの3変数で受け取っています。split の戻り値は文字列なので、数値として使うなら parse.(Int, ...) などで変換が必要です。

n, a, b = split(readline())

偶数・奇数判定

偶数・奇数の判定はiseven()またはisodd()関数を用いて行うことができます。返り値はtrueまたはfalseです。

配列のソート

配列のソートはsort!()関数を用いて行うことができます。Juliaでは慣例的に、変数の内容に変化を加える関数の末尾には!を付けるみたいです。
以下のコードでは、配列Aを昇順にソートしています。

A = [4, -1, 5, 2]
sort!(A)
# 結果 [-1, 2, 4, 5]

引数としてrevにtrueを渡すと、逆順にソートしてくれます。

A = [4, -1, 5, 2]
sort!(A, rev=true)
# 結果 [5, 4, 2, -1]

endswith()

endswith()関数は、文字列が指定した文字列で終わっているかどうかを調べてくれます。
以下の例では文字列sが"dreamer"で終わっているかを判定しています

s = "erasedreamer"
println(endswith(s, "dreamer"))
# true

おわりに

備忘録ではありますが、誰かのお役に立てば幸いです。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?