๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
โœจ Algorithm

[๋ฐฑ์ค€/C++] 4153๋ฒˆ : ์ง์‚ฌ๊ฐํ˜•

by nitronium102 2021. 8. 13.

๋ฌธ์ œ

๊ณผ๊ฑฐ ์ด์ง‘ํŠธ์ธ๋“ค์€ ๊ฐ ๋ณ€๋“ค์˜ ๊ธธ์ด๊ฐ€ 3, 4, 5์ธ ์‚ผ๊ฐํ˜•์ด ์ง๊ฐ ์‚ผ๊ฐํ˜•์ธ๊ฒƒ์„ ์•Œ์•„๋ƒˆ๋‹ค. ์ฃผ์–ด์ง„ ์„ธ๋ณ€์˜ ๊ธธ์ด๋กœ ์‚ผ๊ฐํ˜•์ด ์ง๊ฐ์ธ์ง€ ์•„๋‹Œ์ง€ ๊ตฌ๋ถ„ํ•˜์‹œ์˜ค.

์ž…๋ ฅ

์ž…๋ ฅ์€ ์—ฌ๋Ÿฌ๊ฐœ์˜ ํ…Œ์ŠคํŠธ์ผ€์ด์Šค๋กœ ์ฃผ์–ด์ง€๋ฉฐ ๋งˆ์ง€๋ง‰์ค„์—๋Š” 0 0 0์ด ์ž…๋ ฅ๋œ๋‹ค. ๊ฐ ํ…Œ์ŠคํŠธ์ผ€์ด์Šค๋Š” ๋ชจ๋‘ 30,000๋ณด๋‹ค ์ž‘์€ ์–‘์˜ ์ •์ˆ˜๋กœ ์ฃผ์–ด์ง€๋ฉฐ, ๊ฐ ์ž…๋ ฅ์€ ๋ณ€์˜ ๊ธธ์ด๋ฅผ ์˜๋ฏธํ•œ๋‹ค.

์ถœ๋ ฅ

๊ฐ ์ž…๋ ฅ์— ๋Œ€ํ•ด ์ง๊ฐ ์‚ผ๊ฐํ˜•์ด ๋งž๋‹ค๋ฉด "right", ์•„๋‹ˆ๋ผ๋ฉด "wrong"์„ ์ถœ๋ ฅํ•œ๋‹ค.

ํ’€์ด

ํ•œ๊ตญ์ธ์ด๋ผ๋ฉด ๋ˆ„๊ตฌ๋‚˜ ์ต์ˆ™ํ•  ํ”ผํƒ€๊ณ ๋ผ์Šค์˜ ๊ณต์‹์„ ์ ์šฉํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค.

algorithm ํ—ค๋”์˜ swap ๊ธฐ๋Šฅ์„ ์ด์šฉํ•˜์—ฌ a <= b <= c ์ˆœ์œผ๋กœ ์ •๋ ฌํ•œ ํ›„ c^2 = a^2 + b^2์ธ์ง€ ํ™•์ธํ•œ๋‹ค.

#include <iostream>
#include <algorithm> // swap
using namespace std;

int main() {
  while(1){
    int a, b, c, max;
    cin >> a >> b >> c;
    
    if (a==0&&b==0&&c==0)
      break;
    
    if (a>b)
      swap(a, b);

    if (b>c)
      swap(b, c);

    if (c*c == a*a + b*b)
      cout << "right" << "\n";
    else
      cout << "wrong" << "\n";  
  }
}

๋Œ“๊ธ€