반응형
문제
https://www.acmicpc.net/problem/4153
4153번: 직각삼각형
입력은 여러개의 테스트케이스로 주어지며 마지막줄에는 0 0 0이 입력된다. 각 테스트케이스는 모두 30,000보다 작은 양의 정수로 주어지며, 각 입력은 변의 길이를 의미한다.
www.acmicpc.net
풀이
직각삼각형의 공식은 a2=b2+c2 이다.
a는 가장 큰 변의 길이를 의미함
먼저 입력으로 [0, 0, 0] 이 들어올 때 까지 받기 위해 while-let 문법을 사용하였음
sorted 메서드를 사용해 가장 큰 변의 길이를 구하고 공식과 맞는지 확인하는 방법으로 풀 수 있다.
소스코드
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
while let triangle = readLine()?.split(separator: " ").map({ Int($0)! }).sorted(by: >), | |
triangle != [0, 0, 0] { | |
if triangle[0] * triangle[0] == triangle[1] * triangle[1] + triangle[2] * triangle[2] { | |
print("right") | |
} else { | |
print("wrong") | |
} | |
} |
후기
직각삼각형 공식을 안다면 쉽게 풀 수 있는 문제
반응형
'PS > 백준' 카테고리의 다른 글
[BOJ] 백준 15829 Hashing (Swift) (2) | 2024.01.03 |
---|---|
[BOJ] 백준 2751 수 정렬하기 2 (Swift) (0) | 2023.12.31 |
[BOJ] 백준 1259 팰린드롬수 (Swift) (0) | 2023.12.30 |
[BOJ] 백준 2635 수 이어가기 (Swift) (1) | 2023.12.27 |
[BOJ] 백준 27866 문자와 문자열 (Swift) (1) | 2023.12.19 |