알고리즘
단계별로 풀어보기 1단계: 입출력과 사칙연산
찹모찌
2022. 7. 1. 00:11

만만하게 보고 시작했던 입출력과 사칙연산 문제였는데, 중간중간 막힌 부분이 잠깐씩 있었습니다.
입출력이 뭐 어렵겠어? 했는데 조건들이 까다로운 부분들이 있어서 소개해 드리고자 합니다.
- 1008 A/B

애를 먹었던 부분은 저 실제 정답과 출력 값의 절대오차 또는 상대오차가 10^-9이하이면 정답이다. 부분이었다.
그냥 단순히 double을 사용하여 출력을 하면 되는 것 아닌가 했지만 그렇게 해서는 오답처리가 되었다....
#include <iostream>
using namespace std;
int main(void)
{
int a,b;
cin>>a>>b;
cout<<(double)a/b<<endl;
return 0;
}
아무리 생각해봐도 더 나아지는 지점이 없는데 어딜 고칠까... 생각하던 차에 int변수를 double로도 바꾸고 해 봤지만 되지 않았다.
결국 자존심 상해하며 검색을 해보았는데
#include <iostream>
using namespace std;
int main(void)
{
int a,b;
cin>>a>>b;
cout.precision(10);
cout<<(double)a/b<<endl;
return 0;
}
cout.precsion(10)으로 소수점 자릿수를 정해주지 않아 생긴 문제였다.
😭 ...
다음엔 비슷한 경우가 생길 경우 유의해줘야겠다.
그 외의 나머지는 단순히 결과 화면을 잘못 보았거나 하는 문제들이어서 너무 쉽게 보고 집중하지 않고 풀었나라는 생각이 들었다.
c++를 잘한다고 생각했는데 쉬운 부분에서 틀린 점들을 생각하면 너무 IDE의 의존도가 높지 않았나 생각해본다.
손코딩 하듯 맨 땅에 코드를 작성해도 잘 짤 수 있도록 연습해야겠다.