220330 알고리즘 (BOJ 입출력 - 2557,1000)

2022. 3. 31. 00:53코딩/알고리즘

 

 

BOJ

2557 ) 

Hello World!를 출력하는 문제

print("Hello World!")

 

1000 ) A+B

a=int(input())
b=int(input())
c=a+b
print(c)

처음 내 코드는 위와 같았다. 사용자로부터 input으로 값을 받고 int로 정수형변환 해서 각각 a,b 변수에 넣고 a+b값을 변수 c에 넣고 출력하는 것이다. 그런데 계속 런타임 에러가 뜬다..? 

 

여기서 내가 간과한 것이 있었다. 바로 한 줄에 2개의 값을 갖는 것이다. 

내 코드는 그냥 1,2 값을 따로따로 받았던 것이다. 

 

이 문제 핵심은 입력 시 주어진 조건이 첫째 줄에 A,B가 주어진다는 것 

내가 한 방법처럼 따로 받아도 문제는 없지만 1000번 문제에는 위배된다는 것. 

 

>> a,b를 동시에 받고 split() 함수를 이용해 입력받은 두 수를 나눠줘야 한다. 

a,b = input().split()
a = int(a) 
b = int(b) 
print(a+b)

Python의 경우 사용자로부터 값을 입력받을 때 디폴트로 문자로 인식하여 값을 받기 때문에 형변환의 과정이 꼭 필요하다. 이 단계를 거치지 않으면 두 수가 문자열로 연결된 합 결과가 나온다. 

 

 

참고 

https://gabii.tistory.com/15