반응형
밑의 링크는 CodeUp에서의 문제 링크입니다.
주의해야 할 점
이 문제에서는 굳이 3항 연산자를 사용해서 문제를 풀도록 했습니다.
그런데 3항 연산자는 조건문이 복잡해지면 가독성이 매우 떨어집니다.
평소에는 간단한 조건문일 때만 3항 연산자를 사용하고,
3항 연산자가 생각나지 않거나, 복잡한 조건식을 사용해야 한다면
일반적인 조건문인 if elif else를 사용하는 것이 좋은 것 같습니다.
생각한 풀이 과정
- 정수 3개를 입력하고, 각각 정수형으로 변환합니다.
- 각 정수들을 num1, num2, num3 변수에 넣어줍니다.
- 3항 연산자를 통해 num1과 num2의 크기를 먼저 비교하고 더 작은 값을 찾습니다.
- 3번 과정에서 구한 num1과 num2 중 더 작은 값과 num3을 3항 연산자를 사용해 비교하여 더 작은 값을 찾습니다.
- 4번 과정에서 더 작은 값이 num1, num2, num3 중 가장 작은 값입니다.
제출한 파이썬 코드
# readline을 사용하기 위해 import합니다.
from sys import stdin
# 정수 3개를 공백으로 구분해 입력합니다.
# 각각 정수형으로 변환합니다.
num1, num2, num3 = map(int, stdin.readline().split(' '))
# 정수 3개 중 가장 작은 값을 출력합니다.
# 먼저 num1과 num2의 값을 비교해서 작은 값을 찾아 낸 뒤,
# num1과 num2 중 더 작은 값을 num3과 비교하여 제일 작은 값을 찾아서 출력하는 것입니다.
print((num1 if num1 < num2 else num2) if ((num1 if num1 < num2 else num2) < num3) else num3)
제출 결과
느낀 점
일반적인 조건문인 if elif else를 사용하여 가장 작은 값을 구하는 문제는 매우 쉬운데,
굳이 3항 연산자를 사용하려고 하니까 복잡한 식으로 나오네요.
제가 짰지만 읽기 힘듭니다. ㅎㅎ
※ 궁금한 부분, 이상한 점 및 오타는 댓글에 부탁드립니다.
※ 더 효율적이고 빠른 정답을 환영합니다.
반응형
댓글