본문 바로가기
코딩/알고리즘_코드업

코드업 파이썬 기초100제:6022_연월일 입력받아 나누어 출력

by jkyoon 2023. 1. 9.

[문제]

image from CodeUp
image from CodeUp

[설명]

25.01.09 와 같이여섯 자리로 된 연월일을 년도(25), 월(01), 일(09)로 구분하여 한 줄로 출력하라는 문제다.

즉 출력 결과는 다음과 같은 형태가 된다.

 

25 01 09

 

21번 문제에서 처럼 문자열 인덱스를 이용하면 쉽게 해결할 수 있다.

*인덱스란 문자의 위치를 나타내는 값이다.

 

1)먼저 문자열을 입력받는다.

str = input()

 

예를 들어, 250109를 입력했다고 하자.

이때, 문자열 변수 str에 저장된 문자열 250109의 인덱스는 다음과 같다.

인덱스 0 1 2 3 4 5
문자열 2 5 0 1 0 9

2)이제 문자를 2개씩 쪼개서 출력하면 된다.

문자열에 나란히 있는 문자를 두 개 이상 불러올 때, 인덱스 표기 방법은 다음과 같다.

 

[시작 인덱스 : 끝 인덱스 + 1]

 

예를 들어 문자열 250109에서 25를 가져오고 싶다면 다음과 같이 표기한다.

 

str[0:2]

 

위 코드가 불러올 문자열은 25 다.

인덱스 0 위치에 있는 2부터 인덱스 1 위치에 있는 5까지를 가져온 것이다.

주의하자! 0:2 라고 해서 인덱스 0부터 2까지가 아니다. 인덱스 1까지만 가져온다. 

 

마찬가지로 문자열 250109에서 01을 가져오고 싶다면 다음과 같이 표기한다.

str[2:4] 

 

그리고 문자열 250109에서 09를 가져오고 싶다면 다음과 같이 표기한다.

str[4:6]


그러니 내가 원하는 끝 인덱스보다 +1 하는 것을 잊지 말자


*위와 같이 [시작 인덱스 : 끝 인덱스 + 1]를 활용하여 문자열 구성 요소의 일부를 가져오는 방법을 슬라이싱(잘라내기)이라고 표현한다.

이제 위 방법을 이용해 한 줄로 출력하면 답이다. 

[답안코드]

 

str=input()
print(str[0:2], str[2:4], str[4:6])

댓글