各言語で競プロに入門する時の資料
アプリやバックエンドを普段書いていて、競プロに入門する方が好きな言語で始めやすいよう、2021/10/7現在の情報で雑にまとめている
精選過去問10問リンク
結論
初心者にはRubyがとても分かりやすくて良い気がしている(特に標準入出力まわりがシンプル) Swift
精選過去問10問
code:標準入出力.swift
// 標準入力
func getString() -> String { readLine()! }
func getInt() -> Int { Int(getString())! }
func getDouble() -> Double { Double(getString())! }
// 標準出力
print("answer")
Kotlin
基本的にはここを読んだらだいぶ分かりそう
Kotlinは確かに(if式やラムダ式で)ロジックを綺麗に書きやすいし、競プロ向きな言語かもしれない
精選過去問10問
code:標準入出力.kt
// 標準入力
private fun readLn() = readLine()!! // string line
private fun readInt() = readLn().toInt() // single int
private fun readStrings() = readLn().split(" ") // list of strings
private fun readInts() = readStrings().map { it.toInt() } // list of ints
// 標準出力
println("answer")
Ruby
精選過去問10問
code:標準入出力.rb
# 標準入力
a_str = gets.to_s
a_str, b_str, c_str = gets.split.map(&:to_i)
arr = gets.split(' ').map(&:to_i) # => 2019, 10, 29みたいに1つの配列として受け取りたい場合 # 標準出力
puts "answer"
Python
精選過去問10問
code:標準入出力.py
Go
精選過去問10問
fmt.Scan() や fmt.Printf() はアンバッファードな入出力なので、$ 3 \times 10^{5} 個くらいの数値を入出力したりすると TLE します。 Dart
精選過去問10問
標準入出力については↓がとても参考になったnixii.icon
-.icon
昨年の情報だが、提出の多い言語でいうと圧倒的にC++がやはり多いらしい 社内の勉強会でAtCoder.iconをペアプロでワイワイ解く会をやろうとしているnixii.icon
社内ではアプリ(iOS, Android)やバックエンドで使ってる言語も色々あるので、これを機に整理してみた
JavaとかC++とかRustとか、もしニーズがありそうだったら追記する