この記事はpaizaのプログラミング問題をPowerShellで解いてみようという試みの記事です。
paizaのプログラミング問題とは?
ブラウザ上でコードを書いて実行できる、無料プログラミング練習問題集です。
- 難易度別に問題を選ぶ
- 問題文を読んで、解答コードを書く
- 提出するとテストケースが実行されて結果をわかる
正解・不正解だけではなく、解答コード例や解説も見ることができるので、プログラミングの習得から復習まで活用できます
こんな人におすすめ
- プログラミングスキルの腕試しをしたい方
- プログラミングのスキルアップしたい方
- 新しい言語にチャレンジをしたい方
通常は問題をc言語やJavaなどで解くのですがPowerShellで解いてみます。
問題
文字の一致 (paizaランク D 相当)
問題: 2 つの文字列 a, b が入力されます。文字列が一致していれば "OK" 、異なっていれば "NG" と出力してください。
入力: 文字列aと文字列b
出力: aとb が一致していれば "OK" 、異なっていれば "NG"
解き方:
- 標準入力から2行の文字列を読み込む
- 文字列を比較一致していれば "OK" 、異なっていれば "NG"を出力
コード:
PowerShell バージョン7.4以降
# PowerShell バージョン7.4以降
((read-host) -eq (read-host)) ? "OK" : "NG"
PowerShell バージョン7.4以降コードの説明:
PowerShellはバージョン7.4から三項演算子が使えるようになりました。
ワンライナーも書けます。
PowerShell V5系
下はいつものバージョン5系
# PowerShell V5系
$(if((read-host) -eq (read-host)) { "OK" } else { "NG" })
V5系でも$()を使うと三項演算子風の書き方ができます。
終わりに
noteにPowerShellのサンプルコードの記事を書いています。そっちも見てね
PowerShellまとめ