今回やること
paizaのプログラミング問題を解く上で頻出となるロジックをまとめました。
これでCランクは大体いけるはず。言語はpythonです。
標準入力から半角スペース区切りで変数に代入
コンソールに半角区切りで値を入力することで、変数a,b,cに代入されます。
a,b,c = input().split()
なお、半角スペース以外で区切りたい場合はsplitメソッドの引数に指定する
# 以下の例だと入力値を"+"で区切って入力することができる。
a,b,c = input().split("+")
任意の文字列を切り出す
開始インデックスと終了インデックスをコロン(:)でつなげて指定することで、文字列を切り出せる
以下の例では、hogeにはtの1文字目と2文字目が入り、fugaにはtの3文字目以降が全て入る
t = input()
hoge = t[0:2]
fuga = t[3:]
print(hoge)
print(fuga)
# 実行結果(入力値 abcdefg)
# ab
# defg
特定の文字列の出現回数を数える
以下の例では入力された文字列のなかに"<"が何文字含まれているかカウントしています。
hoge = input()
answer = 0
# count関数で変数hogeに<が何文字含まれているか数える
answer += hoge.count("<")
print(answer)
# 実行結果(入力値 a<<b<c<d<e<f)
# 6
複数の変数を数値で入力したい場合
以下のようにして、input().split()で取得したstr型リストの要素をにint型に変換します。
a,b = (int(x) for x in input().split())
print(a+b)
# 実行結果(入力値 "1 3")
# 4
mapを用いた処理
map関数は引数に map(処理内容,繰り返し処理ができるもの) という引数を取る。
下記の処理では半角スペース区切りで入力した値をstr型からint型に変換している。
arr = map(int,input().split(" "))
print(arr)
# 実行結果(入力値 "1 2 3 4 5")
# [1, 2, 3, 4, 5]
配列に数値を代入
map関数は引数に map(処理内容,繰り返し処理ができるもの) という引数を取る。
下記の処理では入力を半角スペースで区切る→int型に変換→cという配列を作っている
arr = list(map(int,input().split(" ")))
print(arr)
# 実行結果(入力値 "1 2 3 4 5")
# [1, 2, 3, 4, 5]