티스토리 뷰

< 6019 > 연월일 입력받아 순서 바꿔 출력하기

y, m, d = input().split('.')
print (d, m, y, sep='-')

 📌 split() 함수로 각 변수에 년, 월, 일을 저장한다. 

 print문에 있는 sep (separatation)은 각 변수를 구별해 주는 역할을 한다.

만약 y에 2021, d에 10, y에 10이 저장 돼 있다면 2021-10-10 이 출력된다.

sep가 없다면 2021 10 10 이 출력 될 것이다. 이때, sep를 이용해 공백이 아닌 '-'를 출력하는 역할이다.

 

< 6020 > 주민번호 입력받아 형태 바꿔 출력하기

birth, code = input().split('-')
print (birth + code)

📌 birth 와 code가 문자열로 저장되어 있기 때문에, + 연산자를 사용하면 공백 없이 출력 가능하다.

bitrh, code = input().split('-')
print (bitrh, code, sep = '')

📌 출제자의 의도는 구분자 sep를 이용하는 것 같다.

아무것도 입력되지 않은 작은 따옴표는 공문자 (empty)를 의미한다.

 

< 6021 > 단어 1개 입력받아 나누어 출력하기

str = input()
for i in str:
	print(i)

📌 for 문을 이용하여 입력받은 모든 문자열을 탐색합니다.

str에 저장된 문자열을 하나씩 탐색합니다.

for i in str : # str의 문자의 갯수가 5개라면, i 는 0부터 1씩 증가하며, str[0]부터 str[4]까지 하나씩 탐색하게 됩니다.

이에 i 를 출력하게 되면 str의 문자를 순차적으로 하나씩 출력 가능합니다.

str = input()
print (str[0])
print (str[1])
print (str[2])
print (str[3])
print (str[4])

📌 5자리의 문자열만 입력조건이므로, 위 방법으로 출력해도 무관하다.

 

< 6022 > 연월일 입력받아 나누어 출력하기

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

📌 인덱스 슬라이싱을 이용하여 출력한다.

9 8 0 2 1 2

birth에 980212가 저장되어있다고 가정한다.

birth [ a: b ] 라고 하면, a부터 b-1 까지 문자열을 자른다는 것을 의미한다.

즉, [0 : 2] 라 하면, birth[0], birth[1] 까지 자르는 것이다. 

이 때, 맨 처음과 맨 끝은 생략할 수 있다. birth[0:2] 는 birth[:2]와 같다.

 

< 6023 > 시분초 입력받아 분만 출력하기

h,m,s = input().split(':')
print (m)

📌 split() 함수를 입력받아 분만 출력할 수 있다.

time_s = input()
print (time_s[3:5])

📌 인덱스 슬라이싱을 사용하여 출력할 수도 있다.

 

< 6024 > 단어 2개 입력받아 이어 붙이기

str, num = input().split()
print (str + num)

 

 

<정리>

- print()의 sep 옵션을 사용하면 변수 사이 특정 문자를 출력할 수 있다.

- print 문에서 + 를 사용하면 공백 없이 출력 할 수 있다.

- 인덱스 슬라이싱 [시작 인덱스 : 마지막 인덱스 +1 ] 을 사용하면 된다.

📌 즉, str[a:b] 라고 하면, str[a] 부터 str[b-1]까지 출력된다.

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함