こんにちは。倉内です。
paizaでは、本日よりプログラミング問題を解いて、指定の条件を達成してくださった方の中から抽選で10名様にAmazonギフト券2,000円が当たるキャンペーンを実施しています。
普段からプログラミング学習をしている方、これからプログラミングをやってみたいと思っている方、どなたでもチャンスがありますのでぜひ挑戦してみてください!詳しくはこちらのページに記載の「キャンペーン詳細・規約」もごらんください。
キャンペーン対象となるには、paizaの提供している「スキルチェック」というサービスでプログラミング問題を解いて、ランクの取得が必要です。(あらかじめpaizaへの会員登録(無料)をお願いします)
本記事では、スキルチェックとはなにか、ランク取得のためにどのように勉強するとよいかをレベル別にご紹介しますので、参考にしていただければと思います。
スキルチェックとは
スキルチェックは、難易度別にS・A・B・C・Dに分けられたプログラミング問題を制限時間内に解くことで、自分のプログラミングスキルが試せるサービスです。
対応言語:Java、PHP、Ruby、Python2、Python3、Perl、C、C++、C#、JavaScript、Objective-C、Scala、Go、Swift、Kotlin
paizaに会員登録をしていただくと、まずはFランクからのスタートです。チュートリアルをクリアするとEランク、そのあと前述のS~Dランクのどの問題に挑戦するかで取得できるランクも変わってきます。
Sランクがもっとも難しい問題となっており、プログラミング初心者でスキルチェックにはじめて挑戦するという方は、まずはDランク問題に挑戦してみてください。基礎文法(四則演算、if文・for文、配列など)を理解していれば解くことが可能です。
すでにある程度プログラミング経験のある方はいきなり難しい問題を解くことも可能です。ただし、スキルチェックの問題でランクを取得できるのは1回の挑戦のみ(ランクは取得できませんが再挑戦は何度でも可能です)、時間制限ありとなっています。
スキルチェックには現在450問以上のプログラミング問題が公開されています。また、のちほど詳しく紹介する、練習問題を集めた「レベルアップ問題集」を活用し、ある程度問題の形式に慣れてからの挑戦もおすすめです。
キャンペーン概要
実施期間
2022年2月14日(月)~2月28日(金) 11:59まで
達成条件
- 現在Aランク以下の場合、上のランクの問題に挑戦する。Sランクの場合、解いたことがない問題に挑戦する。
- 問題を解いたあとの受験結果ページからツイートをする。
プレゼント内容
抽選で10名様にAmazonギフト券2,000円分
※paizaにご登録いただいたメールアドレス宛に当選者に対してのみご連絡いたします。当選はメールでのご連絡をもって代えさせていただきます。
レベル別・プログラミング学習方法
ここからは、paizaラーニングのコンテンツを使った学習法について、いくつかのパターンに分けてお伝えしていきます。
これからプログラミングを始める方
目標:Dランク問題を解けるようになる
はじめてプログラミング学習に取り組む方は、プログラミング言語の体験編・入門編講座がおすすめです。
体験編講座(概要~基礎)
対応言語:Python、Ruby、C#、Java、PHP、JavaScript、C言語、Swift、Go、Kotlin、C++、Scala、Perl
体験編では、「プログラミングとは何か」から始まり、各言語の基礎的な内容を動画講座で学び、ブラウザ上で演習課題を解きながら進めていきます。
言語ごとに多少違いはありますが、内容としてはコメントの書き方、単純な数値計算、データの受け取り方、そしてif文やfor文の基礎文法を学べる講座になっています。
これまで一度もプログラミングをやったことがない方でも取り組みやすい内容です。全言語の講座を無料公開中ですので、まずお試しで使ってみたいという方もぜひご利用ください。
入門編講座(基礎~基本~一部応用)
対応言語:Python、Ruby、C#、Java、PHP、JavaScript、C言語
一部体験編と重なる内容もありますが、入門編ではもう少し踏み込んだ内容まで学習します。
たとえば、「Python3入門編」では、リスト(多次元リスト含む)やディクショナリの基本的な操作、関数やクラス、例外処理についても学びます。
プログラミング言語の基本をしっかり固めたい方、プログラミング経験はあるが新しく別の言語も学びたいといった方には特におすすめです。
プログラミングゲーム
基礎文法を学習したあと、たくさんコードを書いて定着させるのにおすすめなのが、『コードガールこれくしょん』や『コードクロニクル』といったpaizaが提供しているプログラミングゲームです。
次々に問題が出てくるので、「筋トレ」のようにコーディングスキルを鍛えることができます。また、キャラクターのガチャがあったり、ストーリーがあったりと楽しめる要素も満載です!
(補足)標準入出力を理解する
スキルチェックの問題を解くには、与えられた値の取得(標準入力)と、問題で指定された形式での出力(標準出力)を理解する必要があります。こちらの解説ページもごらんください。
プログラミング経験があっても普段あまりこういった形式の問題を解かないと使わないという方も多いので、最初に軽く練習しておくといいかもしれません。
たとえば、以下の標準入力の問題ですぐ処理が書けそうであれば大丈夫でしょう。
問題:
標準入力で3つの文字列が1行で与えられるので、それらを入力して、順にそのまま3行で出力してください。入力例:
aaaaa,bbbbbb,cccc出力例:
aaaaa
bbbbbb
cccc
Python3での解答例は以下のとおりです。実際に実行してみたいときは、paiza.IOを利用するとブラウザ上ですぐにコードを書けるので便利です。
解答例1:
a,b,c = input().split(',') print(a) print(b) print(c)
解答例2:
a = input().split(",") for i in a: print(i)
なお、上記はレベルアップ問題集の「標準入力サンプル問題セット」の問題です。他にも「標準入力メニュー」「標準出力メニュー」で練習問題を解くことができます。
基本は押さえたので発展的な内容に進みたい方
目標:C~Bランク問題を解けるようになる
プログラミングの基本は理解し、Dランク問題も難なく解けるようになった方は、レベルアップ問題集の「Cランクレベルアップメニュー」や「Bランクレベルアップメニュー」を活用してランクアップを目指しましょう。
レベルアップ問題集はスキルチェックと異なり、時間制限がなくテストケースの参照や一部問題の解答コード例や解説を参照することができます。こちらは友人間やSNSでの共有などもしていただけます。
たとえば、「Cランクレベルアップメニュー」では、Dランク相当の問題をいくつか解いて、最終的にCランク相当の問題を解けるようステップアップができる作りになっています。
現在、Python3・Ruby・Java・PHP・C++・JavaScript・COBOLの解答コード例を公開しています。
「Bランクレベルアップメニュー」も同様です。CからBへのランクアップがなかなか難しいという場合は、こちらの問題集で段階的に解ける力をつけて、Bランク相当の問題文の長さや考え方に慣れていくとよいでしょう。
現在は、Python3・Ruby・C#・Java・C++・PHP・JavaScript・COBOLの解答コード例を公開しています。
また、Cランク・Bランクともに動画講座「スキルチェック入門編」で、問題解説をおこなっているレッスンが複数あります。こちらもぜひ活用してください。
より実力アップを目指す方
目標:Aランク問題を解けるようになる
Aランクの問題を解くには、より計算量を減らすアルゴリズムを用いるなどの工夫が必要になってきます。これまであまりそういった点を意識したことがなかった方は、まず動画講座「アルゴリズム入門」でアルゴリズムについて学んでみるとよいでしょう。
FizzBuzz、フィボナッチ数、巡回セールスマン問題といったメジャーなアルゴリズムを動画講座で学ぶことができます。
また、ソートのアルゴリズムも知っておくとよいと思います。こちらはレベルアップ問題集の「素朴なソートアルゴリズムメニュー」や「効率的なソートアルゴリズムメニュー」で問題を解きながら理解するのがおすすめです。どちらもPython3・Java・C++の解答コード例を公開中です。
「Aランクレベルアップメニュー」も合わせて活用してみてください。Cランク相当の問題から順に解いて最終的にAランク相当の問題を解くといったステップで問題集が作られています。
現在、Python3とC++の解答コード例を公開中です。
この中のAランク相当の問題「陣取りゲーム」を解くためのステップについて、詳しく解説した記事も参考にしてみてください。
高度な問題に挑戦したい方
目標:Sランク問題を解けるようになる
プログラミングの実力が十分あり、もっと難しい問題を解いてみたいという方もいらっしゃると思います。
Sランク相当の練習問題を複数公開しているのが、「リアルイベント問題セット」と「スキルチェック見本問題セット」です。
また、Sランク問題のように効率的な処理方法を考える必要のある問題を解く場合、いくつかのアルゴリズムを知っておくと役立つ場合があります。
たとえば、ダイクストラ法については、「グリッド版ダイクストラ問題セット」という問題集をご用意しています。詳しくは以下の記事もごらんください。
さらに新作プログラミングゲーム『SILVER BULLET』では、ユーザー同士でスコアを競い合うランキング問題(Sランク相当)を公開中!こちらもぜひ挑戦してみてください。
スキルチェックの結果を転職・就活に生かす
paizaでは、スキルチェックの結果を生かしてエンジニア求人に応募することが可能です。
より上位のランクを獲得することで、企業から送られるスカウトの数も多くなる傾向にあり、スキルを武器に転職活動や就職活動をすることができます。
「paizaを使った転職や就活について詳しく知りたい」という方は、ご利用ガイドを公開していますのでぜひごらんください。
まとめ
プログラミング問題を解いてAmazonギフト券をもらえるキャンペーンについて、攻略法を含めてご紹介してきました。
すでにスキルチェックを利用してくださっている方は、「ひとつ上のランクの問題をなかなか解けない……」と悩んでいる方もいらっしゃるかもしれませんが、今回ご紹介したコンテンツを利用してステップアップしていただければと思います。
paizaでは今後も定期的にキャンペーンを実施しますのでぜひご参加ください!
「paizaラーニング」では、未経験者でもブラウザさえあれば、今すぐプログラミングの基礎が動画で学べるレッスンを多数公開しております。
詳しくはこちら
そしてpaizaでは、Webサービス開発企業などで求められるコーディング力や、テストケースを想定する力などが問われるプログラミングスキルチェック問題も提供しています。
スキルチェックに挑戦した人は、その結果によってS・A・B・C・D・Eの6段階のランクを取得できます。必要なスキルランクを取得すれば、書類選考なしで企業の求人に応募することも可能です。「自分のプログラミングスキルを客観的に知りたい」「スキルを使って転職したい」という方は、ぜひチャレンジしてみてください。
詳しくはこちら