IT&개발/Baekjoon
[Python] 백준 10817번 - 세 수
nimoes._.
2024. 3. 12. 16:00
728x90
반응형
세 수
문제 )
세 정수 A, B, C가 주어진다. 이때, 두 번째로 큰 정수를 출력하는 프로그램을 작성하시오.
입력 )
첫째 줄에 세 정수 A, B, C가 공백으로 구분되어 주어진다. (1 ≤ A, B, C ≤ 100)
출력 )
두 번째로 큰 정수를 출력한다.
내 풀이 )
A, B, C = map(int, input().split())
if A == B == C:
print(A)
else:
if A == B or A == C:
second_largest = A
elif B == C:
second_largest = B
else:
numbers = [A, B, C]
numbers.sort()
second_largest = numbers[1]
print(second_largest)
해설 )
- split() 함수는 입력된 문자열을 공백을 기준으로 나눔
- map(int, ...)은 나눠진 각 문자열을 정수로 변환
첫 번째 if 문 :
- 입력받은 A, B, C가 다 같은 경우 : 다 똑같으므로 A 출력(B, C 아무거나 적어도 상관 x)
- 아닌 경우(두 번째 if 문으로)
두 번째 if 문:
- 같은 수가 두 개일 경우 : 같은 두 수가 나머지 수보다 크든 작든 무조건 두 번째로 큰 수 -> second_largest에 저장
- 세 수 모두 다를 경우 : numbers라는 리스트에 세 수를 넣고 sort() 함수를 사용하여 정렬(오름차순)
second_largest에 1번 인덱스 값을 저장 (인덱스는 0번부터 시작이므로)
second_largest 출력
결과 )

728x90
반응형