目次
paizaのプログラミング問題の形式
paizaのスキルチェック問題の多くは、プログラムに任意の値を与え、正しい結果を出力できるかで評価しています。
問題文に出てくる「入力される値」とはプログラムに与えられる値の具体的な内容を、「期待する出力」とは求められる出力結果の形式を示しています。標準入力・標準出力の仕組みを理解することで、提示されたそれらの内容に合致するプログラムが書けるようになります。
入力される値
用語が示すもの | プログラムに与えられる値の具体的な内容 |
---|---|
使用している仕組み | 標準入力 |
期待する出力
用語が示すもの | 出力結果の条件、出力フォーマット |
---|---|
使用している仕組み | 標準出力 |
標準入力・出力とは
標準入力・標準出力は、もともとUnixの仕組みです。標準入力はプログラムに値を渡す入力元のこと、標準出力はプログラムから出力される値の出力先のことをいいます。この仕組みを使うと、キーボードやファイルなど外部から値(データ)をプログラムに与えることができます。
もう少し具体的な例で説明しましょう。たとえば、足し算をするプログラムで「1+2」のような決まった値の計算であれば、プログラム内で値を定義して計算すればいいですよね。
# 例としてpython3で示す
# 足したい値を定義する
num_1 = 1 # 変数:num_1を「1」とする
num_2 = 2 # 変数:num_2を「2」とする
# 足し算した結果を標準出力する
print(num_1 + num_2) # num_1は「1」、num_2は「2」なので結果は「3」となる
では、もし「1から10のあいだの整数がランダムで渡されるのでそれらを足す」ことを求められた場合、どうすればいいでしょうか。このときに標準入力の仕組みを使って、値をプログラムに渡す必要があります。
# 例としてpython3で示す
# 渡される2つの値を標準入力で取得する
# (参考)python3では標準入力にinput関数を使う
num_1 = int(input()) # 変数:num_1に1つ目の値を格納する
num_2 = int(input()) # 変数:num_2に2つ目の値を格納する
# 取得した値を足し算した結果を標準出力する
print(num_1 + num_2)
# 例1
# 入力値
1
2
# 出力値
3
# 例2
# 入力値
3
5
# 出力値
8
paizaのスキルチェック問題の多くは、このようにプログラムに任意の値を与えて正しい結果を出力できるかで評価します。
まずは、本ページを参考に標準入力・出力を理解してチュートリアル問題を解いてみましょう。
チュートリアル問題を突破するには
マイページに表示されているチュートリアル問題を突破するための手順を説明します。
まず、右上(1)の「得意な言語を選択」からお好きなプログラミング言語を選択してください。
選択した言語のサンプルコードが下のエリア(2)に表示されます。
サンプルコードにはヒントとなるコメントが書かれています(3)ので、それに従ってコードの一部を修正して正しく出力できるようにしてください。
ヒント:Betaがついていない言語は、標準入力のコードは既に書かれているため、正しく標準出力できるように書き換えてください。
実行ボタン(4)をクリックすると正解・不正解が判定されます。なお、ここで正解できなくても各サービスの利用には影響ありませんので、ぜひチャレンジしてみてください。
不正解時には解答例となるコードが表示されます(一部言語除く)。再チャレンジしてみましょう。
動画と演習問題で標準入力を扱う練習をしよう
演習問題
- レベルアップ問題集「標準入力サンプル問題セット」
- 標準入力の方法を確認するための問題です。全8問のライトなセットです。
(解答例のある言語:Python3・Java・C++) - レベルアップ問題集「標準入力メニュー」
- 複数行・複数列での標準入力の受け取りなど、多くのパターンを網羅した全48問のメニューです。ほとんどのスキルチェック問題の標準入力処理が書けるようになります。得意な言語や好きな言語で練習してみましょう。
(解答例のある言語:Python3・Java・C++・COBOL)