[백준] 4153번: 직각삼각형 C++로 풀어보기

2023. 7. 1. 23:56·Algorithm/Baekjoon(C++)

백준 4153번 설명

 

 

어떻게 풀까? (문제를 풀고 처음 든 생각)

주어진 세변의 길이가 직각인지 아닌지 구분하려면
a의 제곱 + b의 제곱 = c의 제곱이 되어야한다.
이 때 c는 a나 b보다 큰 수여야 한다.

각 테스트케이스는 모두 30000보다 작은 양의 정수로 주어졌으므로 int를 써도 될 것 같다.

 

  1. while문을 써서 무한반복을 한다.
  2. 숫자 3개를 입력받는다.
  3. 만약 숫자 3개가 다 0이면 break를 써서 while문을 빠져나와 프로그램이 종료가 된다.
  4. 숫자 3개를 배열 안에 넣는다.
  5. 배열을 오름차순으로 정렬한다.
  6. 첫번째 배열 값의 제곱과 두번째 배열 값의 제곱의 합이 세번째 배열 값의 제곱과 같은지 확인한다.
  7. 맞으면 right를, 틀리면 wrong을 출력한다.

 

 

코드
#include <bits/stdc++.h>
using namespace std;


int main() {

	while(1) {
		int arr[3] = { 1,1,1 }; // 배열 초기화
		int a, b, c;
		cin >> a >> b >> c;
		if (a == 0 && b == 0 && c == 0) { // 만약 수가 다 0이면
			break; // while문 탈출
		}
		arr[0] = a;
		arr[1] = b;
		arr[2] = c;
		sort(arr, arr + 3); // 배열 오름차순으로 정렬
		if ((arr[0] * arr[0]) + (arr[1] * arr[1]) == arr[2] * arr[2]){ // a^2 + b^2 = c^2이라면
			cout << "right\n";
		}
		else { // 아니라면
			cout << "wrong\n";
		}
	}
}

 

결과

4153번 제출 결과

다행히도 한 번에 맞았다!

 

후기

제곱을 할 때 arr[n] * arr[n]이 아니라 pow(arr[n], 2)를 써도 좋았을 것 같다.

순간적으로 배열을 정렬하는 방법이 잘 기억이 나지 않았다. sort(arr, arr + 배열의 크기)를 잊지말자.

(내림차순은 sort(arr, arr + 배열의 크기, greater<자료형>())을 사용하면 된다.)

저작자표시 비영리 변경금지 (새창열림)

'Algorithm > Baekjoon(C++)' 카테고리의 다른 글

[백준] 1874번: 스택 수열 C++로 풀어보기  (0) 2023.07.17
[백준] 5397번: 키로거 C++로 풀어보기  (0) 2023.07.15
[백준] 1919번: 애너그램 만들기 C++로 풀어보기  (0) 2023.07.15
[백준] 2609번: 최대공약수와 최소공배수 C++로 풀어보기  (0) 2023.07.13
[백준] 27866번: 문자와 문자열 C++로 풀어보기  (0) 2023.07.13
'Algorithm/Baekjoon(C++)' 카테고리의 다른 글
  • [백준] 5397번: 키로거 C++로 풀어보기
  • [백준] 1919번: 애너그램 만들기 C++로 풀어보기
  • [백준] 2609번: 최대공약수와 최소공배수 C++로 풀어보기
  • [백준] 27866번: 문자와 문자열 C++로 풀어보기
퀵차분
퀵차분
Web Developer 🥐
  • 퀵차분
    QC's Devlog
    퀵차분
  • 전체
    오늘
    어제
    • 분류 전체보기 (174)
      • Frontend (29)
      • Fedify (4)
      • Study (42)
        • NestJS (2)
        • Node.js (3)
        • Modern JS Deep Dive (13)
        • SQL (1)
        • Network (1)
        • 프롬프트 엔지니어링 (4)
        • 인공지능 (9)
        • 시스템프로그래밍 (11)
        • 선형대수학 (1)
      • Intern (4)
      • KUIT (21)
      • Algorithm (48)
        • Baekjoon(C++) (26)
        • Programmers(JavaScript) (22)
      • 우아한테크코스(프리코스) (4)
      • Project (8)
        • crohasang_page (1)
        • PROlog (4)
        • Nomadcoder (2)
      • 생각 (4)
      • Event (7)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    react
    음악추천
    next.js
    typescript
    HTML
    자바스크립트
    프로그래머스 자바스크립트
    시스템프로그래밍
    javascript
    프로그래머스
    fedify
    티스토리챌린지
    인공지능
    KUIT
    리액트
    알고리즘
    프론트엔드
    백준
    오블완
    타입스크립트
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
퀵차분
[백준] 4153번: 직각삼각형 C++로 풀어보기

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.