누구나 그렇듯..ㅎ 새해를 맞아 새로운 마음으로 새로운 공부를 시작했다.
알고리즘..파이썬으로...
알고리즘은 C로만 해오다 파이썬으로 문제 풀어보려니 좀 막막하기도 했다.
그래도 새로운 시작은 언제나 설렌다. 부지런히 연습해서 파이썬 초고수가 되어야지..!
첫날이니까 제일 만만해보이던 A+B부터 해보는데 런타임에러가 뜨는 것!
실패 코드
a = int(input())
b = int(input())
print(a+b)
입력 값이
1
2
가 아니라
1 2였다 ㅋㅋ
찾아보니 개행문자가 아닌 띄어쓰기로 연속해서 입력한 것을 여러 변수에 할당하고자 할 때 사용하는 map()함수가 있었다.
map()함수는 할당하고자 하는 자료형을 인자로 표기해주어야한다. 즉 최소 2개의 인자를 넣어줘야한다.
#문자열 입력
s = map(str, input().split())
#정수 입력
i = map(int, input().split())
이것을 참고하여 문제를 제출했다.
성공 코드
a, b = map(int, input().split())
print(a+b)
map함수를 찾아보다보니 input을 대신해서 사용할 수 있는 방법인 readline()도 알게되었다.
대량의 데이터를 반복적으로 입력받을 때 input()대신 입력하면 속도가 향상된다.
import sys
#read에 문자열로 저장
read = sys.stdin.readline() #입력:123 456
print(read) #출력: 123 456
#read2에 list로 저장
read2 = sys.stdin.readline().split() #입력: 123, 456, 789
print(read2) #출력: ['123', '456', '789']
#여러개의 변수에 저장하고자 할 때 map함수 사용
num1, num2 = map(int, sys.stdin.readline().split()) #입력: 12 34
print(num1, num2) #출력: 12 34
파이썬을 써봤다고 해도 0부터 시작하는 코딩은 처음이라 이것저것 공부할게 많아보인다.
그래도 꾸준히 하다보면 어느새 모두 다 내 실력으로 쌓여있을거라는 생각으로 해 나아가야겠다.
파이썬 초고수 응원합니다!