【AtCoder】ABC282解説(Python)

HHKBプログラミングコンテスト2022 Winter(AtCoder Beginner Contest 282)の解説記事です。

目次

ABC282 A – Generalized ABC

問題

問題文の要約は以下の通りです。

問題の要約

整数 \(K\) が与えられるので、英大文字をAから昇順に \(K\) 個繋げて得られる文字列を出力せよ。

制約

・\(K\) は1以上26以下の整数

入力

\(K\)

出力

答えを出力せよ。

解法1

英大文字の文字列から先頭 \(K\) 文字を出力する。

解説

まず英大文字の文字列を作り、sとします。

s='ABCDEFGHIJKLMNOPQRSTUVWXYZ'

入力 \(K\) を受け取ります。

K=int(input())

sの先頭 \(K\) 文字目までをスライスで取得し、出力します。

print(s[:K])

解答

s='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
K=int(input())
print(s[:K])

解法2

string.ascii_uppercaseを使用する。

解説

文字列、ABCDEFGHIJKLMNOPQRSTUVWXYZは標準ライブラリstring.ascii_uppercaseで取得することができるためこれを使用します。

stringimportしてsstring.ascii_uppercaseとします。

import string
s=string.ascii_uppercase

入力 \(K\) を受け取り、sの先頭 \(K\) 文字目までをスライスで取得し、出力します。

K=int(input())
print(s[:K])

解答

import string
s=string.ascii_uppercase
K=int(input())
print(s[:K])

解法3

chrordを用いて、Aから \(K\) 番目までを出力する。

解説

Aからi番目の英大文字はchr(ord('A') + i)と書くことができます。

入力 \(K\) を受け取ります。

K=int(input())

for文で \(K\) 番目までchr(ord('A') + i)を出力します。改行されないように、end =''を使用します。

for i in range(K):
  print(chr(ord('A') + i),end ='')

解答

K=int(input())
for i in range(K):
  print(chr(ord('A') + i),end ='')
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次