Algorithm/BaekJoon

(파이썬) 백준 10950번 "A+B - 3"

innit 2022. 4. 17. 19:09


# 문제상황

 

테스트 케이스 T를 입력받은 후, 똑같은 수행(이 문제에서는 덧셈 연산)을 T번 반복해야되는 문제입니다.

앞으로 코딩테스트 문제를 풀다보면 지금과 같이 테스트 케이스 횟수를 입력받아야 되는 상황이 자주 등장할텐데요. 코드로 어떻게 짜는 것이 좋을까요?

T = int(input())
while T:
	T -= 1

저는 맨 처음에는 위와 같은 코드를 생각했었는데요, 이것보다 좀 더 간단하고 널리 보편화된 방법이 있습니다.

 

 

 

 


# 해결

 

코드 먼저 보겠습니다.

T = int(input())
for _ in range(T):

위 코드와 같이 작성하면 테스트 케이스를 입력받는 첫 번째 행과, 테스트 케이스 만큼 반복을 진행해 줄 두 번째 행, 총 2줄만으로 표현할 수 있습니다. 이 코드를 더 줄일 수도 있습니다.

for _ in ragne(int(input)):

T라는 변수를 할당받지 않아도 되니 더욱 효율적입니다. 앞으로 자주 사용하게 될 코드이니 익숙해지는 것이 좋습니다.

 

 

 

언더스코어(_)가 어떤 의미로 쓰였는지 궁금해하실 분들이 있을 겁니다. 우선 파이썬에서 언더스코어의 5가지 용도에 대해 알아보겠습니다.

 

  • 인터프리터(Interpreter)에서 마지막 값을 저장할 때
  • 값을 무시하고 싶을 때 (흔히 “I don’t care"라고 부름)
  • 변수나 함수명에 특별한 의미 또는 기능을 부여하고자 할 때
  • 국제화(Internationalization, i18n)/지역화(Localization, l10n) 함수로써 사용할 때
  • 숫자 리터럴값의 자릿수 구분을 위한 구분자로써 사용할 때

 

언더스코어(_)는 위와 같이 다양한 상황에서 쓰일 수 있는데요, 여기에서는 2번째 이유로 사용되었습니다. 즉, 이 코드에서 언더스코어(_)는 "어떤 값이 들어오든 상관 없는 변수"임을 의미합니다. 테스트 케이스 T는 단지 그 수만큼 반복문을 실행하기만 하면 그 역할을 다 한 것이나 다름이 없으니, 구체적인 변수 이름을 지어줄 필요가 없는 것입니다.

 

 

 

 


# 답

T = int(input())
for _ in range(T):
    A, B = map(int, input().split())
    print(A + B)

 

 

 

 

728x90
반응형