728x90
반응형
14215번: 세 막대
첫째 줄에 a, b, c (1 ≤ a, b, c ≤ 100)가 주어진다.
www.acmicpc.net
1. 문제 설명
2. 풀이과정
- sys.stidn.readline() 함수를 사용하기 위해 sys 모듈을 불러온다. import sys
- 세 막대의 길이를 입력받는다. a, b, c = map(int, sys.stdin.readline().split())
- 세 막대 중 길이가 가장 긴 막대의 길이를 저장한다. MAX = max(a, b, c)
- 나머지 두 막대의 길이의 합을 저장한다. SUM = (a + b + c) - MAX
- 삼각형이 되려면 가장 긴 변의 길이가 나머지 두 변의 길이 합보다 작아야 한다. 따라서 제일 긴 막대의 길이가 나머지 두 막대의 길이의 합보다 작으면 if (MAX < SUM)
- 자르지 않아도 삼각형이 될 수 있으므로 세 막대의 길이 합을 출력한다. print(a + b + c)
- 반면 가장 긴 막대의 길이가 나머지 두 막대의 길이의 합보다 크거나 같으면 else
- 가장 긴 막대의 길이를 잘라야 삼각형을 만들 수 있다. 삼각형의 둘레가 가장 커야 하므로 최소한으로 막대를 잘라야 한다.
- 가장 긴 막대의 길이가 나머지 두 막대의 길이 합보다 작으면 되기 때문에 나머지 두 막대의 길이의 합에 1을 뺀 값으로 긴 막대를 자른다. MAX = SUM - 1
- 원래 나머지 두 막대의 길이 합과 새로 자른 가장 긴 막대의 길이를 더해 출력한다. print(SUM + MAX)
반응형
3. 소스코드
import sys
a, b, c = map(int, sys.stdin.readline().split())
MAX = max(a, b, c)
SUM = (a + b + c) - MAX
if (MAX < SUM):
print(a + b + c)
else:
MAX = SUM - 1
print(SUM + MAX)
728x90
반응형
'백준' 카테고리의 다른 글
[백준] 24267번 : 알고리즘 수업 - 알고리즘의 수행 시간 6 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.11.08 |
---|---|
[백준] 24266번 : 알고리즘 수업 - 알고리즘의 수행 시간 5 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.11.06 |
[백준] 24265번 : 알고리즘 수업 - 알고리즘의 수행 시간 4 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.11.05 |
[백준] 24264번 : 알고리즘 수업 - 알고리즘의 수행 시간 3 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.11.03 |
[백준] 5073번 : 삼각형과 세 변 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.10.31 |
[백준] 10101번 : 삼각형 외우기 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.10.29 |
[백준] 9063번 : 대지 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.10.27 |
[백준] 15894번 : 수학은 체육과목 입니다 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.10.25 |