반응형
풀이
#include <iostream>
using namespace std;
int main()
{
int coef, expo_x, expo_y;
cin >> coef >> expo_x >> expo_y;
if (coef == 1)
; //do nothing
else if (coef == -1)
cout << '-';
else if (coef != 0)
cout << coef;
if (expo_x != 0)
{
cout << 'x';
if (expo_x != 1)
cout << '^' << expo_x;
}
if (expo_y != 0)
{
cout << 'y';
if (expo_y != 1)
cout << '^' << expo_y;
}
cout << endl;
return 0;
}
위 코드를 작성할 때 어려웠던 점은 처음에는 pow() 함수를 이용해서 하려고 했던 것입니다. 하지만 문제의 요지는 제곱이 무엇이 나오는지 값을 출력하는 것이 아닌 x^3 이런 식으로 나오는 것을 원하기 때문에 pow()가 아닌 if를 통해 x , y, ^ 등을 변수로 넣어주어야 한다는 것으로 추론을 했습니다.
따라서 해당 부분들을 if문으로 했습니다.
조금 어려웠던 점은 +와 -가 1과 -1에서는 부호만 나오게 하는 것이었는데 막상 보면 이해가 가지만 처음에는 이걸 어떻게 해야하나 고민을 많이 했습니다. 저렇게 -1에서 -가 나오게 해주었으며 +기호는 출력하지 않아도 되지만 처음에는 ' ' 빈칸으로 해주었다가 빈칸이 거슬려서 저런식으로 아무것도 적어주지 않고
주석으로 //do nothing이라는 표현을 해주어서 코드를 보는 사람이 헷갈리지 않도록 해주었습니다.
반응형