Home 백준 알고리즘(BOJ) 10817번 파이썬 풀이
Post
Cancel

백준 알고리즘(BOJ) 10817번 파이썬 풀이

문제 설명

첫째줄에 공백을 기준으로 세 정수가 입력되면 각 변수 a, b, c에 입력받은 정수들을 저장하고 세 수 중 두번째로 큰 정수를 출력하는 프로그램을 작성하는것입니다.

풀이

완성된 코드는 다음과 같습니다.
파이썬에서는 min(), max() 함수를 이용해 다른 언어보다 쉽게 풀 수 있습니다.
알고리즘 공부차원에서는 좋은 풀이 방식은 아닙니다.

1
2
3
4
5
a, b, c = input().split()
a = int(a); b = int(b); c = int(c)
max_ = max(a, b, c)
min_ = min(a, b, c)
print(a + b + c - max_ - min_)

a, b, c라는 변수에 input()함수로 값을 입력받고 split()함수를 이용해 공백을 기준으로 문자열을 잘라 저장합니다.

1
a, b, c = input().split()

a, b, c변수들의 자료형을 문자형 자료형에서 정수형 자료형으로 형변환을 해준 뒤 다시 저장합니다.

1
2
3
a = int(a)
b = int(b)
c = int(c)

min()함수는 주어진 인자 수열들 중 가장 작은 수를, max()함수는 주어진 인자 수열들 중 가장 큰 수를 반환합니다.

1
2
max_ = max(a, b, c)
min_ = min(a, b, c)

세 수중 중간값을 구하기 위해 아래 예제와 같이 연산을 진행하여 중간값을 구합니다.

1
print(a + b + c - max_ - min_)

실행 결과

입력값으로 20, 30, 10이 주어질 경우 출력 결과는 다음과 같습니다.

1
20
This post is licensed under CC BY 4.0 by the author.