LoginSignup
0
0

More than 1 year has passed since last update.

ひよこになるため日記〜1日目〜12月9日

Posted at

今日したこと

日記1日目です。今日からコツコツとやっていきましょう!!

  • Atcorderのbeginersの過去問(A問題、B問題、C問題)
  • WEBアプリケーション作成に向けて!!

AtcorderBeginners Contest 280のA問題、B問題に挑戦!!

友達から練習をするにはこの問題解くといいよとおすすめしてもらったので今現在の実力を測るために復習がてら解くことにしてみました。

A問題

まず、恥ずかしながら「shit」+@でmacはバックオート出すんですね、、
この記事で知りました!恥ずかしながら今日知りました、、、、
では問題はこちら!!

自分が書いたプログラムはこんな感じです!!

s = input().split()
count = 0
for _ in range(int(s[0])):
  moji = list(input())
  for i in range(int(s[1])):
    if '#'== moji[i]:
      count += 1
else:
  print(count)

他の人のコードを見ると1行目の代わりにmap関数を使っていました。
map関数を知らなかったので調べました!!

map(関数,イテレーター(リストやタプル))

という形でイテレータの変数を関数によって弄れるらしいです。
具体的にはint型に変えたいときなどに使うみたいです。
今回の1行目を変えるとしたらこんな感じで

s,w=map(int,input.split())

使えば良いみたいです!!
これでsとwにはint型の文字が代入されています。

他には

open(0)

関数を使っている人がいました。
https://qiita.com/kyuna/items/8ee8916c2f4e36321a1c#4-open0
これはこの記事を参考にしてください!!
すごく詳しく書いていました。

B問題

問題はこちら!!

そして自分が書いたプログラムが↓↓↓

s = int(input())
num = list(map(int,input().split()))
count = 0
list = []
for i in range(s):
    if i==0:
        count+=num[i]
        list.append(num[i])
    else:
        k = num[i]-count
        count += k
        list.append(k)
else:
    for i in range(s):
        print(list[i],end=' ')

A問題で学んだmap関数を使った。

print関数は改行が含まれる。
end を入れることにより、改行の代わりのものを出力。。

for i in range(s):
        print(list[i],end=' ')

以下の形で書き換えできるらしい。

print(*list)

これはアンパックをしているらしい。
よくわからないけど、勉強しなければ、、、

C問題

C問題はこちら
そして自分が書いたプログラムが↓↓↓

S = list(input())
T = list(input())
count = 1
for i in range(len(S)):
    if S[i] == T[i]:
        count += 1
    else:
        break
print(count)

他の人のプログラムを見たところここではcountを出力するのではなくiの値を出力すればいいのか!!

Webアプリ作成に向けて

今回、とりあえず何か作ってみることが重要かなと思ったので、Udemyで作れるものを探します!!
ちょっと、最後適当になったけどこれからも頑張ります!!

宿題

  • アンパックとは??
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0