문제 설명
본 문제는 python 의 빠른 기초 학습을 위해 설계된 문제로서 python 코드 제출을 기준으로 설명되어 있습니다.
------
정수 3개를 입력받아
가장 작은 값을 출력해보자.
단, 3항 연산을 사용한다.
참고
프로그래밍언어 작성시에는
"프로그래밍언어는 미리 정해져 있는 규칙과 순서에 따라서 한 번에 한 단계씩 실행된다."
"남아있는 작업 중 우선 순위가 가장 빠른 계산이나 작업을 먼저 수행한다."
"만들어진 계산 결과값은 다음 계산이나 작업에 순서대로 사용된다. "
을 논리적으로 생각하면 된다.
따라서 3항 연산을 괄호로 묶어 중첩해서 작성하면, 3개의 값들을 비교해 가장 큰/작은 값을 계산해 낼 수 있다.
예를 들어
(a if a>b else b) if ((a if a>b else b)>c) else c
와 같은 계산식은 a, b, c 의 값 중 가장 큰 값을 계산한다.
잘 이해가 되지 않는다면?
어떤 순서에 따라 한 번에 한 단계씩 계산이 진행되는지를 생각해보고
어떤 우선 순위에 따라 단계적으로 계산이 진행되는지를 찾아보도록 한다.
“연산자 우선순위”를 검색하면 여러 가지 연산자가 괄호 없이 동시에 쓰였을 때의 우선순위와 결합방향 등에 대해 찾을 수 있다.
예를 들어, 변수에 어떤 값을 대입하는 대입 연산자 = 의 우선 순위는 거의 가장 낮고, 결합방향은 오른쪽에서 왼쪽이다.
우선순위가 낮다는 의미는 여러 연산자들이 있을 때 나중에 계산이 된다는 의미이고,
결합 방향이 오른쪽에서 왼쪽이라는 의미는 a=b=3 와 같은 식이 있을 때, 오른쪽에서 왼쪽으로 값이 만들어져 결합된다는 의미이다.
a=b=3 식은 b=3 이 먼저 실행되고, a=b 가 실행되고, 따라서 마지막에는 a 에 3 이 저장된다.
** 3항 연산은 자주 사용되지는 않지만, 복잡한 계산식이나 조건 처리, 비교 구조를 간단히 표현할 수 있게 해준다.
입력 설명
정수 3개가 공백으로 구분되어 입력된다.
(-2147483648 ~ 2147483647)
도움
python언어기초100제v0.8 : @컴퓨터과학사랑, 전국 정보(컴퓨터)교사 커뮤니티/연구회
- 학교 정보(컴퓨터)선생님들과 함께 수업/방과후학습/동아리활동 등을 통해 재미있게 배워보세요.
- 모든 내용 및 이미지들은 저작자와의 협의 없이 무단으로 사용할 수 없습니다.