반응형
#######################################1######################################
# 입력된 두 정수(a, b) 중 큰 값을 출력하는 프로그램을 작성해보자.
# 단, 3항 연산을 사용한다.
# 예시
# a, b = input().split()
# a = int(a) #변수 a에 저장되어있는 값을 정수로 바꾸어 다시 변수 a에 저장
# b = int(b)
# c = (a if (a>=b) else b)
# print(int(c))
# 참고
# 3개의 요소로 이루어지는 3항 연산은
# "x if C else y" 의 형태로 작성이 된다.
# - C : True 또는 False 를 평가할 조건식(conditional expression) 또는 값
# - x : C의 평가 결과가 True 일 때 사용할 값
# - y : C의 평가 결과가 True 가 아닐 때 사용할 값
# 조건식 또는 값이 True 이면 x 값이 사용되고, True가 아니면 y 값이 사용되도록 하는 코드이다.
# 예를 들어
# 0 if 123>456 else 1
# 과 같은 표현식의 평가값은 123 > 456 의 비교연산 결과가 False 이므로 1이 된다.
# 예시 코드에서
# a>=b 의 결과가 True(참) 이면 (a if (a>=b) else b)의 결과는 a가 되고,
# a>=b 의 결과가 False(거짓)이면 (a if (a>=b) else b)의 결과는 b가 된다.
a, b = input().split()
a = int(a)
b = int(b)
c = a if a >= b else b
print(int(c))
#######################################2######################################
# 입력된 세 정수 a, b, c 중 가장 작은 값을 출력하는 프로그램을 작성해보자.
# 단, 3항 연산을 사용한다.
# 참고
# 프로그래밍언어 소스코드 작성시 모든 요소들은
# "순서에 따라 한 단계씩 실행"
# "미리 정해진 순서에 따라 하나씩 연산 수행"
# "그 때까지 연산된 결과를 이용해 다시 순서에 따라 하나씩 연산"
# ...
# 등의 원리가 적용된다.
# 따라서 3항 연산을 중첩해(괄호로 묶는 등..) 이용하면 여러 값들을 순서대로 비교해 가장 큰/작은 값을 계산할 수 있다.
# 예를 들어
# (a if a>b else b) if ((a if a>b else b)>c) else c
# 와 같은 계산식은 a, b, c 의 값 중 가장 큰 값으로 계산된다.
# 잘 이해가 되지 않는다면 어떤 순서에 따라 계산될 지 생각해보고
# 여러 가지 연산자가 동시에 사용된 식이 있을 때, 어떤 우선순위에 따라 순서대로 계산이 되는지 찾아보도록 한다.
# “연산자 우선순위”를 검색하면 우선순위와 결합방향이 나온다.
# 예를 들어 변수에 어떤 값을 대입하는 대입(assign) 연산자 = 의 우선순위는 가장 낮고, 오른쪽에서 왼쪽의 결합방향을 가진다.
# ** 3항 연산은 자주 사용되지는 않지만,
# 복잡한 계산식이나 조건 처리, 비교 구조를 간단히 표현할 수 있게 해준다.
a, b, c = input().split()
a = int(a)
b = int(b)
c = int(c)
d = (a if a < b else b) if ((a if a < b else b) < c) else c
print(int(d))
반응형
'삽집하는 개발들 > 알고리즘' 카테고리의 다른 글
| [4일차][백준][10828]스택 (0) | 2023.06.09 |
|---|---|
| [3일차] [CodeUp] [기초 - 선택실행구조]basic_choice_execution_structure (0) | 2023.06.07 |
| [2일차] [CodeUp] [기초 - 비트단위논리연산]basic_bitwise (0) | 2023.06.06 |
| [2일차] [CodeUp] [기초 - 논리연산]basic_logical operation (0) | 2023.06.06 |
| [2일차] [CodeUp] [기초 - 비교연산]basic_comparison operation (0) | 2023.06.05 |