티스토리 뷰
문제
세 정수 A, B, C가 주어진다. 이때, 두 번째로 큰 정수를 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 세 정수 A, B, C가 공백으로 구분되어 주어진다. (1 ≤ A, B, C ≤ 100)
출력
두 번째로 큰 정수를 출력한다.
예제 입력
20 30 10
예제 출력 1
20
예제 입력 2
30 30 10
예제 출력 2
30
예제 입력 3
40 40 40
예제 출력 3
40
예제 입력 4
20 10 10
예제 출력 4
10
해설
이 문제를 풀 때 주의해야 하는 부분이 세 정수에 같은 수가 들어오는 경우를 적절하게 처리해야 한다는 점이다. 두 정수의 대소 비교시 이 점에 유의해야 의도한 결과를 출력할 수 있다.
이 문제를 푸는 방법은 여럿이다. 기본적으로 if
문을 사용하게 되는데 대개는 if ~ else
를 중첩하여 세 수를 비교하는 코드를 작성한다. 또는 배열과 반복문(for
, while
등)을 이용하여 정렬하는 방식을 취하기도 한다. 여기에서는 일반적인 방법과 비슷하지만 다른 방식으로 접근해 보았다. 초급 문제이므로 되도록 if
문만을 사용하였다. 그런데 중첩된 if ~ else
문은 읽기 사나우니 단순한 if
문으로 코딩하였다. 세 정수 A, B, C가 있다면 (A, B), (B, C), (A, C) 세 번의 비교를 통해 세 정수를 큰 순서대로 정렬하도록 하였다. 정렬이 끝난 뒤에 두 번째 정수를 출력하는 방식을 취했다.
소스 코드: c
#include <stdio.h>
int main(int argc, char *argv[])
{
int num1, num2, num3;
int tmp;
scanf("%d %d %d", &num1, &num2, &num3);
if (num1 < num2) {
tmp = num1;
num1 = num2;
num2 = tmp;
}
if (num2 < num3) {
tmp = num2;
num2 = num3;
num3 = tmp;
}
if (num1 < num2) {
tmp = num1;
num1 = num2;
num2 = tmp;
}
printf("%d", num2);
return 0;
}
소스 코드: python
num1, num2, num3 = map(int, input().split())
if (num1 < num2):
tmp = num1
num1 = num2
num2 = tmp
if (num2 < num3):
tmp = num2
num2 = num3
num3 = tmp
if (num1 < num2):
tmp = num1
num1 = num2
num2 = tmp
print(num2)
'Python > 심사문제' 카테고리의 다른 글
백준(BAEKJOON): A + B (10950번) (0) | 2019.12.15 |
---|---|
백준(BAEKJOON): 알람 시계(2884번) (0) | 2019.12.15 |
백준(BAEKJOON): 윤년 확인하기(2753번) (0) | 2019.12.12 |
백준(BAEKJOON): 곱셈(2588번) (0) | 2019.12.11 |
백준(BAEKJOON): 사칙연산(10869번) (0) | 2019.12.11 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- word
- Mac
- 리찬규
- 백준
- QtDesigner
- NK
- 북한말
- 유래
- C
- tips
- QComboBox
- baekjoon
- Tistory
- setText()
- QLineEdit
- 어원
- django
- python3
- 소수
- BOJ
- locallibrary
- 리규찬
- MacOS
- books
- PyQt5
- QGridLayout
- judge
- words
- Python
- QLabel
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
글 보관함
11-29 12:45