1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ABC343

Posted at

pythonの学習を始めて2週間、力試しにatcoderのABCコンテストに参加しました。
目標は3完だったのでとりあえず目標達成出来て良かったw

ABC+(D)の復習

・A問題
ramdomモジュール、removeメソッド

・B問題
無向グラフの問題。joinメソッド
1.N回配列Aを受け取って(縦)
2.N回配列Aの要素が0,1か判別して(横)、1ならresult_listに繰り返し変数+1(pythonの繰り返し変数は0から)を追加する
3.2のループが終わったタイミングで出力する

N = int(input())

for i in range(1,N+1):
    A = list(map(int, input().split()))
    results = []
    for j in range(N):
        if A[j] == 1:
            results.append(str(j + 1))
    print(' '.join(results))

・C問題
1.回文であるかを判別する関数を作成
※回文である条件は逆順にしても同じ文字列であること
2.N以下、ある数の3乗であることが条件 (数え上げるって発想が中々思いつかなくて、めっちゃハマった)
x = 1 から順に数え上げて、当てはまる数をlistに追加する 
3.リストの中から最大の数を出力する

N = int(input())
U = []  # x ** 3 が回文である値を格納するリスト

def is_palindrome(num):
    return str(num) == str(num)[::-1]

x = 1
while x ** 3 <= N:
    if is_palindrome(x ** 3):
        U.append(x ** 3)
    x += 1

# Uが空でなければ、最大値を出力
if U:
    print(max(U))

・D問題
残り15分じゃ私には無理w
辞書型のlistを使えば出来そうな雰囲気感じたけど、
素直にAを受け取るとkeyが重複してしまうから分からなかった。
明日もう一度考えて解説みます。

反省と振り返り

C問題解き終わった時点で完全に息切れ、、、。
3月の目標はA~C問題は反復練習して脊髄反射で解けるようになることにしまーす!

1
0
1

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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?