Edit

【pythonでABC168を解説】B - ... (Triple Dots)

問題概要

問題ページ

問題文

英小文字からなる文字列 \(S\) があります。

\(S\) の長さが \(K\) 以下であれば、\(S\) をそのまま出力してください。

\(S\) の長さが \(K\) を上回っているならば、先頭 \(K\) 文字だけを切り出し、末尾に ... を付加して出力してください。

制約

  • \(K\) は \(1\) 以上 \(100\) 以下の整数
  • \(S\) は英小文字からなる文字列
  • \(S\) の長さは \(1\) 以上 \(100\) 以下

問題の考察

ACコード

import sys


def solve():
    input = sys.stdin.readline
    mod = 10 ** 9 + 7
    k = int(input().rstrip('\n'))
    s = str(input().rstrip('\n'))
    ans = []
    for i in range(len(s)):
        if i >= k:
            ans.append("...")
            break
        else:
            ans.append(s[i])
    print("".join(ans))


if __name__ == '__main__':
    solve()

-Edit
-