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))

appendjoin의 쓰임을 이해했다. 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)