-
[Python] 백준 10817번 - 세 수IT&개발/Baekjoon 2024. 3. 12. 16:00728x90반응형
세 수
문제 )
세 정수 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반응형'IT&개발 > Baekjoon' 카테고리의 다른 글
[Python] 백준 10214번 - Baseball (2) 2024.03.23 [Python] 백준 10103번 - 주사위 게임 (0) 2024.03.20 [Python] 백준 8958번 - OX퀴즈 (0) 2024.03.19 [Python] 백준 5355번 - 화성 수학 (0) 2024.03.18 [Python] 백준 10869번 - 사칙연산 (0) 2024.03.11