코드업기초100제 를 다 풀고 오늘은 백준기초예제를 풀었다.
풀면서 몰랐던 것이나 기억해야 할 것들을 정리한다.
sys.stdin.readline()
input()
과 같게 쓰이지만 실행속도는 더 빨라서 시간 단축을 위해 사용한다고 한다. 한줄 입력할 때 쓰이며, input()
과 같이 map,split 등을 사용할 수 있다.
여러 줄을 입력할 때는 a = [sys.stdin.readline() for i in range(n)]
와 같은 형식으로 하는게 빠르다. 개행문자까지 포함되므로 개행문자를 제외하고 싶다면 .rstrip()
을 붙여줄 수도 있다.
# a+b 의 값 한줄씩 입력받아 출력
import sys
n = int(sys.stdin.readline())
for i in range(n):
a, b = map(int, sys.stdin.readline().split())
print(a+b)
오른쪽정렬.rjust()
과 왼쪽정렬.ljust()
이다. ( )안에는 원하는 문자열의 길이만큼의 숫자를 넣으면 된다. 숫자를 정렬하고 싶다면 % 를 사용한다. 앞서 공부할때 숫자 자릿수를 정하고 공백에 0을 넣고 싶을때도 % 를 사용했다.
# 예를 들어 2를 '0002' 로 출력하고 싶다면
print("%04d" % 2)
-> '0002'
# 공백그대로 4자리수로 오른쪽정렬을 하고 싶다면 숫자 앞에 0을 빼면 된다.
print("%4d" % 2)
-> ' 2'
# format() 함수를 이용한 오른쪽 정렬 방법도 있다.
print("{:>4}".format(2))
-> ' 2'
# 왼쪽 정렬을 원한다면
print("{:4}".format(2))
-> '2 '
# 오른쪽 정렬로 별찍기
import sys
n = int(sys.stdin.readline())
for i in range(1, n+1):
print(('*'*i).rjust(n))