profile image

L o a d i n g . . .

article thumbnail image
Published 2024. 6. 27. 22:05

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 코드를 보고 비효율적인지 아닌지 판단을 할 수 있게 되어서 기뻤습니다!

복사했습니다!