본문 바로가기
Algorithm/CodeUp

[CodeUp 기초 100제] 1063 : [기초-삼항연산] 두 정수 입력받아 큰 수 출력하기(풀이 성공)

by 전봇대파괴자 2021. 2. 23.

입력:

두 정수가 공백을 두고 입력된다.
-2147483648 ~ +2147483647

 

 

출력:

두 정수 중 큰 값을 10진수로 출력한다.


내 코드:

x, y = map(int, input().split())
print(x if x>y else y)

 

 

또 다른 풀이:

x=list(map(int, input().split()))
print(max(x))

 

Comment: 가장 위의 코드는 if 문으로, 아래 코드는 list, max 함수를 통해 푼 것입니다. 두 가지 모두 정답입니다만 시간 복잡도(연산 속도)를 고려한다면 위의 코드가 더 낫습니다. time 라이브러리를 통해 비교해볼까요?

 

# 라이브러리 불러오기
import time

# if 문 연산
start_time1=time.time()
x=list(map(int, input().split()))
print(max(x))
end_time1=time.time()

# list, max 연산
start_time2=time.time()
x, y = map(int, input().split())
print(x if x>y else y)
end_time2=time.time()

 

결과는 다음과 같습니다. 

 

# input은 모두 123, 456

print('if 문 연산에 걸린 시간 : {}'.format(end_time1-start_time1))

>> 123 456
>> 456
>> if 문 연산에 걸린 시간 : 2.9298195838928223

print('list, max 연산에 걸린 시간 : {}'.format(end_time2-start_time2))

>> 123 456
>> 456
>> list, max 연산에 걸린 시간 : 3.110079765319824