Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- useState
- React
- 큐
- 스택
- 생활코딩
- 회고
- UI
- 프로그래머스
- REST_API
- 프로토타입
- UX
- javascript
- level1
- 30daysdowoonchallenge
- web
- 자바스크립트
- CSS
- 카카오
- 자료구조
- Til
- 운영체제
- 해시테이블
- Next.js
- 코드스테이츠
- 백준
- html
- superstarjypnation
- mysemester
- vercel
- redux
Archives
- Today
- Total
데굴데굴
[파이썬] 4153번: 직각삼각형 본문
4153번: 직각삼각형
입력은 여러개의 테스트케이스로 주어지며 마지막줄에는 0 0 0이 입력된다. 각 테스트케이스는 모두 30,000보다 작은 양의 정수로 주어지며, 각 입력은 변의 길이를 의미한다.
www.acmicpc.net
피타고라스 공식을 활용하여 푸는 문제이다.
처음에는 당연하게도 a, b, c로 나눠서 입력받은 후에 계산을 수행했는데 예제 입력을 다 맞았는데도 불구하고 채점만 하면 틀렸다고 나왔다.
도저히 왜인지 모르겠어서 질문을 읽어보니 문제에 '숫자가 오름차순으로 주어진다'는 조건이 명시되어 있지 않다는 것을 알게 되었다.
즉, 빗변의 크기가 맨 앞에 제시될 수도 있음을 간과한 것이다.
따라서 이 문제는 각 수를 리스트에 한데 모은 후 최댓값을 찾아 그 값을 기준으로 연산을 수행하는 것이 포인트이다.
while True:
line = list(map(int, input().split()))
if sum(line) == 0:
break
max_line = max(line)
line.remove(max_line)
if line[0]**2 + line[1]**2 == max_line**2:
print('right')
else:
print('wrong')
최댓값은 따로 변수에 저장한 후 리스트에서 삭제한다.
'algorithm > 백준' 카테고리의 다른 글
[파이썬] 11050번: 이항 계수 1 (0) | 2022.08.07 |
---|---|
[파이썬] 2164번: 카드2 (0) | 2022.08.05 |
[파이썬] 11655번: ROT13 (0) | 2022.07.22 |
[파이썬] 10820번: 문자열 분석 (0) | 2022.07.19 |
[파이썬] 11399번: ATM (0) | 2022.07.18 |
Comments