https://www.acmicpc.net/problem/1000
https://www.acmicpc.net/problem/1001
어쩌다 보니 벌써 대학원생이 됐네요. 분명 시간이 부족하고 할게 많아야 정상인 것 같은데, 블로그를 쓰고있다니.. 정상인건지 비정상인건지 잘 모르겠습니다 ㅜ.ㅜ 벼르고 벼르던 알고리즘 공부를 어제부터 시작하게 되었습니다. 어디서부터 뭐를 풀어야 하지 하다가 그냥 전체 문제를 들어가서 1000번부터 풀어나가기로 했습니다.
알고리즘 공부도 공부인데, 제가 이걸 어제 시작을 해서 바로 시작하길 잘했다고 생각한 이유는 아마 1000, 1001번을 풀게 된 이후로 인 것 같아요. 그냥 대충 알고 있는대로 하면 되겠거니... 했는데,
위와 같은 입출력 형태를 맞추는데... 안 해도 될 거라는 구글링을 하고 말았습니다. 아래의 코드로 해결을 했네요.
1000.py
int1, int2 = map(int, input().split())
print(int1 + int2)
1001.py
int1, int2 = map(int, input().split())
print(int1 - int2)
여기서 중요한 점은,
- input() 의 경우에 split() 메소드를 사용하여 분리할 수 있지만 이 경우에 "1 2" 를 입력할 경우 ["1", "2"]를 반환하게 됩니다. input()으로 전달된 사용자의 입력값은 모두 str(문자열)이기 때문입니다. 따라서 int1 = "1", int2 = "2"가 되어 int1 + int2의 결과가 3이 아닌 "12"가 됩니다.
- 따라서 map() 이라는 python 내장 함수를 통해 input().split()의 내용을 모두 int로 바꿔주었습니다.
- 백준은 이런 입력과 출력의 값이 중요한 것 같습니다.
'Python > 백준 알고리즘' 카테고리의 다른 글
[백준 알고리즘: python 3] #1006 - 습격자 초라기 (0) | 2019.09.05 |
---|---|
[백준 알고리즘: python 3] #1005 - ACM Craft (0) | 2019.09.03 |
[백준 알고리즘: python 3] #1004 - 어린 왕자 (0) | 2019.09.03 |
[백준 알고리즘: python 3] #1003 - 피보나치 함수 (0) | 2019.09.03 |
[백준 알고리즘: python 3] #1002 - 터렛 (0) | 2019.09.03 |