LoginSignup
0
0

More than 1 year has passed since last update.

[Python]ABC285 レポ

Last updated at Posted at 2023-01-15

要約

2完(A, C)
PyPyはいいぞ

個人的解説

A - Edge Checker 2

bに対してa * 2 or a* 2 + 1と合致するか調べた
よく考えればa // 2でよかった🥲

a, b = list(map(int, input().split()))
if a*2 == b or a*2+1 == b:
    print("Yes")
else:
    print("No")

B - Longest Uncommon Prefix

問題文が読めない!むずい!けど実装してみたら案外簡単だったやつ。

n = int(input())
s = list(input()[:])

for i in range(1, n):
    l = 0
    for k in range(n-i):
        if s[k] == s[k+i]:
            break
        l += 1
        
    print(l)

...が、これでTLE
いろいろ試したが、結局コンテスト中には間に合わず、Twitterで調べた「PyPyで実行したらいけたわ笑」を信じて実行したら通った。

image.png

今まで「名前が卑猥なライブラリ」という印象しか持っていませんでした。ごめんなさい。

C - abc285_brutmhyhiizp

A-Zを一桁とした26進数として処理するのがミソ。

s = str(input())[::-1]
total = 0


def c_to_base(c):
    return ord(c) - ord('A') + 1


for i in range(len(s)):
    c = s[i]
    weight = 26 ** i
    
    total += c_to_base(c) * weight
    
print(total)

おわりに

久しぶりにやってみたら結構さっくりと解ける問題が多めで楽しかった。

普段はpaizaラーニングみたいな「ロジック組めればOK!」といった感じのところの問題しか解かないので、制限時間にはしばらく苦しめられそう。

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