0201: タプルの左回転¶
問題¶
整数のタプル values を左へ k 個回転する関数 rotate_left(values: tuple[int, ...], k: int) -> tuple[int, ...] を実装してください。
左へ1個回転するとは、先頭の要素を末尾へ移すことです。
制約¶
valuesは整数のタプルです。kは整数です。valuesが空のときは空のタプルを返します。kがlen(values)以上でも正しく回転します。- 入力のタプルを変更してはいけません。
例¶
>>> rotate_left((), 3)
()
>>> rotate_left((1, 2, 3, 4), 1)
(2, 3, 4, 1)
>>> rotate_left((1, 2, 3, 4), 6)
(3, 4, 1, 2)
>>> rotate_left((1, 2, 3, 4), 0)
(1, 2, 3, 4)
発展¶
右回転を行う rotate_right() も実装し、左回転との関係を確かめてください。
参考¶
- 『Python Distilled』第2章「標準的な演算子」
- 『Python Distilled』第2章「シーケンス」
- 『Python Distilled』第2章「式」