def solution(sides):
answer = 0
max_num = max(sides) # sides의 max값
min_num = min(sides) # sides의 min값
sum_num = sum(sides) # sides의 sum값
#가장 긴 변이 sides에 있을 경우
for i in range(1, max_num+1):
if i+min_num > max_num:
answer += 1
#가장 긴 변이 새로운 변일 경우
for i in range(max_num+1, sum_num):
answer +=1
return answer
🤔 문제 풀이
- max_num = max(sides) # sides의 max값
min_num = min(sides) # sides의 min값
sum_num = sum(sides) # sides의 sum값- 삼각형을 만들 거기 때문에 모든 변에 대해서 정의 내려줬어요
- #가장 긴 변이 sides에 있을 경우
for i in range(1, max_num+1):
if i+min_num > max_num:
answer += 1- for i in range(1, max_num+1):
- 가장 긴 변이 sides에 이미 있을 때, range 범위를 1부터 max_num+1로 해주었어요
- if i+min_num > max_num:
- 만약 i+min_num이 max_num보다 크다면 answer에 +1씩 더해줄게요
- 문제를 다시 읽어보시면 경우의 수가 적어도 2가지가 나오잖아요 그걸 충족시키기 위해서 만든 코드입니다!
- 만약 i+min_num이 max_num보다 크다면 answer에 +1씩 더해줄게요
- for i in range(1, max_num+1):
- #가장 긴 변이 새로운 변일 경우
for i in range(max_num+1, sum_num):
answer +=1- for i in range(max_num+1, sum_num):
- 가장 긴 변이 새로운 변일 경우예요
- 그럼 적어도 max_num+1보다 큰 숫자부터 sides의 sum 만큼이 범위가 되겠죠?
- answer +=1
- 그리고 그 값들을 answer에 더해주면 문제 해결!
- for i in range(max_num+1, sum_num):
'문제 풀기 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 캐릭터의 좌표 (+실패 흔적들, 차원 문제) (0) | 2025.01.08 |
---|---|
[프로그래머스] 구슬을 나누는 경우의 수 (from math import factorial) (0) | 2025.01.08 |
[프로그래머스] 문자열 계산하기 (eval() 함수) (0) | 2025.01.06 |
[프로그래머스] 공 던지기 (1h, len()을 활용한 인덱스 번호 알아내기) (0) | 2025.01.06 |
[프로그래머스] 이진수 더하기 (bin(), int(문자열, n진수)) (0) | 2025.01.03 |