はじめに
Python初心者がDランク問題に挑戦してみました。
自分で解いた後にChatGPTで以下の点を修正してもらったコードも載せてます。
1.コードのリファクタリング
2.効率の良いアルゴリズムがあれば採用
自己紹介
- プログラマーを目指す会社員
- 競技プログラミングには1年前に1回参加した程度
- Qiita初投稿
問題
自分の回答
解答.py
n = int(input())#n回出力される
door_number = [int(input()) for i in range(n)]
max_number = 0
for j in range(len(door_number)):
if max_number <= door_number[j]:
max_number = door_number[j]
print(max_number)
ChatGPTでリファクタリングと修正してもらったコード
ChatGPT.py
n = int(input()) # n回出力される
door_number = [int(input()) for _ in range(n)]
# 組み込み関数 max() を使って最大値を求める↓
print(max(door_number))
反省点
- 組み込み関数の存在を忘れており、リスト内数値の比較部分で冗長な書き方になっている
- リスト内包表記の変数で
_
を使用している→変数の値を使わずに捨てることを明示するためだとか
↓参考記事
感想
リスト内包表記で_
という書き方があることを知り、使えるところでは使っていきたい