CodeUp Python 기초 100제 입출력 풀이(6017 - 6024)
업데이트:
■ 문제 출처: CodeUp Python 기초 100제
6017 - 6024
주리씨의 요점 정리
- 복수의 변수를 한 번에 출력할 때,
print("{출력 형식}" %{변수1, 변수2, ... 변수n})
는print(변수1, 변수2, ... 변수n, sep('{분리 기준 문자}'))
와 같은 기능을 가지면서 더욱 유연한 표현이 가능하다. 변수1+변수2
를 사용할 땐 숫자 형태가 아닌지 주의해서 사용한다.- append 함수: 리스트에 요소를 추가
- join 함수: append 함수 등을 통해 리스트에 입력, 추가된 변수들을 출력
6017
import sys
s = str(input())
print(s, s, s)
str
형은 공백도 포함해서 사용 가능. 다만 사용시 sys.stdin.readline()
함수에서 표현 에러 발생.
6018
import sys
a, b = map(int, sys.stdin.readline().split(':'))
print(a, b, sep=':')
split(':')
→ sep=':'
표현으로, 기존에 : 로 붙어있던 변수를 두 개의 정수(시간 표현이므로 정수형으로 정의해도 문제 없겠다 생각했다)로 정의한 후, 다시 : 를 사이에 두고 두 정수를 함께 출력함. 이 문제에서는 sep
의 표현법을 익혔다.
6019
import sys
y, m, d = map(int, sys.stdin.readline().split('.'))
print(d, m, y, sep=('-'))
print("%d-%d-%d" %(d,m,y))
이런 세련된 표현도 있음을 기억하자. 6018번에도 함께 적용 가능한 방법.
6020
import sys
left, right = map(str, input().split('-'))
print(left+right)
처음에 str
대신 int
를 썼다가, print(left+right)
에서 두 정수의 합이 출력되어 무한한 바보스러움을 느낌…
6021
s = input()
n = int(len(s))
for i in range(0, n):
print(s[i])
s = list(str(input()))
print("\n".join(s))
for
문을 사용해서 표현해보았다. 글자의 길이는 len()
함수로 측정하여, 변수 s의 문자를 배열화시켜 각 줄에 나열하는 방식으로.
두 번째 표현식은 훨씬 세련됐다. 입력 문자를 list
에 넣고 join
함수를 써서 개행하는 방식.
6022
sentence = input()
begin = 0
n = len(sentence)
result = []
for _ in range(begin, n):
result.append(sentence[begin:begin+2])
begin = begin + 2
print(" ".join(result))
append
와 join
의 쓰임을 이해했다. for문으로 반복되는 결과를 result에 추가 저장하여, print할 때 지정한 공백을 기준으로 누적된 결과를 출력하는 기능을 가졌다. 또한 for문에서 for _ in range
로 사용할 경우, 변수 i 등의 지정을 하지 않아도 됨을 알게 됨.
6023
h, m, s = map(str, input().split(':'))
print(m)
처음에 int
로 입력했다 오류가 남. 이유인즉슨 정수형일 경우 00 으로 입력된 값이 자동으로 0으로 변환되기 때문이라고 한다. 00을 글자 그대로 출력하기 위해서는 str
형으로 매핑해 주어야 한다고.
6024
import sys
w1, w2 = map(str, input().split(' '))
print(w1+w2)