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의 경우 사용자로부터 값을 입력받을 때 디폴트로 문자로 인식하여 값을 받기 때문에 형변환의 과정이 꼭 필요하다. 이 단계를 거치지 않으면 두 수가 문자열로 연결된 합 결과가 나온다.
참고
'코딩 > 알고리즘' 카테고리의 다른 글
220411 알고리즘) JS를 이용하여 세 수 중 최솟값 출력 (0) | 2022.04.11 |
---|---|
220405 BOJ ) 2558, 10950 (입출력 A+B 2,3번째) (0) | 2022.04.05 |
알고리즘 공부 방향 (0) | 2022.03.31 |