문제

mirror() 함수를 정의하라. 이 함수는 시퀀스를 하나 입력받아 그 시퀀스를 뒤집은 시퀀스를 원본에 덧붙여 반환한다. 단, 원본 시퀀스의 마지막 요소는 덧붙이지 않는다. 다음은 함수를 호출한 예이다.

>>> mirror([1, 2, 3])
[1, 2, 3, 2, 1]

>>> mirror(['가', '져', '가', '라'])
['가', '져', '가', '라', '가', '져', '가']

코드

def mirror(sequence):
    """시퀀스를 하나 입력받아 그 시퀀스를 뒤집은 시퀀스를 원본에 덧붙여 반환한다.
    단, 원본 시퀀스의 마지막 요소는 덧붙이지 않는다."""
    reversed_sequence = sequence[-2::-1]
    return sequence + reversed_sequence

# 함수의 동작 확인
print(mirror([1, 2, 3]))
print(mirror([2, 4, 8, 16, 32]))

실행 결과

[1, 2, 3, 2, 1]
[2, 4, 8, 16, 32, 16, 8, 4, 2]

해설