https://www.acmicpc.net/problem/3046
R1, S = map(int, input().split())
R2 = (2*S) - R1
print(R2)
R1, S = map(int, input().split())
map을 이용하여 공백으로 구분된 두 개의 숫자를 정수형으로 변환하고 R1과 S에 각각 대입합니다.
R2 = (2*S) - R1
print(R2)
두 숫자 R1과 R2가 있을 때, 두 수의 평균 S는 (R1+R2)/2 과 같습니다.
그러나 우리는 R2의 값을 모르므로, R2 = 2S − R1 식을 이용해 R2를 구하고 출력합니다.
여담
문제를 푸는데 자꾸 TypeError가 나는데 어디 부분이 문제인지 감이 오지 않아서 ChatGPT에게 도움을 받았습니다.
1. int(input().split())은 문자열을 두 개의 정수로 나누지 않고, 하나의 입력을 정수로 변환하려고 해서 오류 발생
2. split() 함수는 문자열을 리스트로 나누기 때문에, 이를 각각 정수로 변환해야 함
위 두 가지를 지적 받았습니다 ㅋㅋ
GPT에게 코드를 받아서 보는데 뭔가 비효율적으로 느껴지는 코드가 있습니다.
'map을 이용하면 한 번에 정수를 입력받을 수 있을텐데..?' 라는 생각이 바로 들었고 GPT에게 반박했습니다.
역시 map을 이용하니 코드도 간결해지네요.
파이썬을 배운 지 일주일 정도 됐는데 GPT 코드를 보고 비효율적인지 아닌지 판단을 할 수 있게 되어서 기뻤습니다!
'백준 > Python' 카테고리의 다른 글
[백준][Python]15680 - 연세대학교 (0) | 2024.07.11 |
---|---|
[백준][Python] 4999 - 아! (0) | 2024.07.10 |
[백준][Python] 27433 - 팩토리얼 2 (0) | 2024.07.07 |
[백준][Python] 1336 - 두 수 비교하기 (0) | 2024.07.02 |
[백준][Python] 10039 - 평균 점수 (0) | 2024.06.26 |