-
[백준 4153번] 직각삼각형Algorithm/기타 2019. 12. 8. 23:40
백준알고리즘 4153번 : 직각삼각형
대각선, 가로, 세로 3개의 값을 받아서,
"가장 큰 값의 제곱이 작은 두 값의 제곱의 합과 같은가?"
라는 조건문 충족 여부에 따라 'right'나 'wrong'을 출력하면 되는 문제이다.
주의 사항이라고 한다면,
1. 일반적인 문제와는 달리 테스트 케이스의 갯수가 주어지지 않고, 0 0 0이 나올때 입력이 종료되는 점,
2. 그리고 오름차순으로만 입력을 받지는 않기 때문에 정렬을 해줘야 한다는 점이다.
(예제에서는 오름차순으로 출력해주길래 그런 줄 알았더니 아니였다.. 문제에 나온 조건대로만 풀어야겠다.)
풀이 과정
1. while문을 이용하여, 0이 들어오면 입력 받기를 중단하도록 한다.
2. 배열로 3개의 값을 받는다.
3. 배열을 오름차순(or 내림차순)으로 정렬한 뒤, "가장 큰 값의 제곱 == 다른 두 값의 제곱의 합"
조건의 충족여부를 판별한다.
4. 충족 여하에 따라 출력한다.소스 ▽
더보기import java.util.Arrays; import java.util.Scanner; public class Main {// 4153 직각 삼각형 public static void main(String[] args) { Scanner sc = new Scanner(System.in); int temp = -1; while (temp != 0) { int[] arr = new int[3]; int a = 0; for (int j = 0; j < arr.length; j++) { arr[j] = sc.nextInt(); } temp = arr[2]; if (temp != 0) { Arrays.sort(arr); if ((arr[0] * arr[0] + arr[1] * arr[1]) == arr[2] * arr[2]) { System.out.println("right"); } else { System.out.println("wrong"); } } } } }
Summary
Arrays.sort() : 오름차순 정렬
'Algorithm > 기타' 카테고리의 다른 글
[백준 1924번] 2007년 (0) 2019.12.15 [백준 10250번] ACM 호텔 (0) 2019.12.11 [백준 1546번] 평균 (0) 2019.12.07 [백준 17826번] 나의 학점은? (0) 2019.12.03 [백준 2869번] 달팽이는 올라가고 싶다 (0) 2019.11.30