백준 알고리즘 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[:]
는 시작과 종료 인덱스를 생략하여 문자열의 처음부터 끝까지를 의미한다. 즉, 전체 문자열을 복사하는 것과 같다.