백준 알고리즘 26574번

백준 알고리즘 26574번 Copier

문제

지난주에 복사기가 고장나서 내일 제출해야 하는 수업 프로젝트의 숫자 목록을 복사해야 합니다! 다행히도 컴퓨터를 사용하여 숫자를 복사할 수 있습니다. 각 줄에 숫자 목록이 주어지면 숫자와 공백, 그리고 그 숫자의 다른 사본을 인쇄합니다.

입력

첫 번째 줄에는 각각 고유한 줄에 따라야 할 숫자의 수를 나타내는 단일 정수 n이 포함됩니다. 다음 n줄에는 각각 하나의 숫자가 포함됩니다.

출력

n줄 각각에 대해 원본 번호와 번호 사본을 한 칸씩 띄어 인쇄합니다.

예제

입력출력
3
7
3
10
7 7
3 3
10 10

풀이

n = int(input())

for _ in range(n):
  number = input()
  print(number, number[:], end=" ")

number[:]은 문자열 슬라이싱을 사용하여 number의 전체 내용을 복사한다.

문자열 슬라이싱이란?

문자열 슬라이싱은 Python에서 문자열의 일부분을 추출하거나 복사하는 데 사용하는 기능이다. 이를 통해 문자열의 하위 문자열을 얻을 수 있다.
슬라이싱은 리스트나 배열에도 사용할 수 있다.

슬라이싱의 기본 구문은 다음과 같다:

string[start:stop:step]
  • start: 시작 인덱스, 지정하지 않으면 기본값은 0이다.
  • stop: 종료 인덱스, 슬라이싱은 이 인덱스 바로 전까지 진행한다. 지정하지 않으면 기본값은 문자열의 길이이다.
  • step: 건너뛰기 값, 지정하지 않으면 기본값은 1이다.

예시:

text = "Python"

print(text[1:4])   # "yth"
print(text[2:])    # "thon"
print(text[:4])    # "Pyth"
print(text[::2])   # "Pto"

위 코드에서 text[1:4]는 인덱스 1에서 시작하여 인덱스 4전까지의 문자열을 추출한다. 따라서 “yth”가 출력된다.

number[:]는 시작과 종료 인덱스를 생략하여 문자열의 처음부터 끝까지를 의미한다. 즉, 전체 문자열을 복사하는 것과 같다.

* TOC {:toc}

© 2021. All rights reserved.