본문 바로가기
코딩테스트/BOJ

1단계 - 입출력과 사칙연산

by 의정부핵꿀밤 2020. 8. 1.
728x90

<1단계 - 2557번 / Hello world>

이건 정말 기초적인 문제다. printf를 통해 출력해도 되지만 난 cout을 이용하여 출력하였다.

 

#include <iostream>
using namespace std;

int main(void)
{
cout << "Hello world!" << endl;
return 0;
}

 

<2단계 - 10718번 / We love kriii>

cout에서 ""안에 \n을 입력해도 이게 인식을 한다! 이거 왜 이제 알았지...

 

#include <iostream>
using namespace std;

int main(void)
{
cout << "강한친구 대한육군\n강한친구 대한육군" << endl;
return 0;
}

 

<3단계 - 10171 / 고양이>

고양이 나름 귀엽다ㅋㅋㅋ

고양이

#include <iostream>
using namespace std;

int main(void)
{
cout << "\\    /\\" << endl;
cout << " )  ( ')" << endl;
cout << "(  /  )" << endl;
cout << " \\(__)|" << endl;
return 0;
}

 

<4단계 - 10712번 / 개>

이 문제는 특수문자 출력을 할 수 있는지를 확인하기 위한 문제인 것 같다. 아래의 표를 참고하여 출력하였다.

특수문자 출력 방법

#include <iostream>
using namespace std;

int main(void)
{
cout << "|\\_/|" << endl;
cout << "|q p|   /}" << endl;
cout << "( 0 )\"\"\"\\" << endl;
cout << "|\"^\"`    |" << endl;
cout << "||_/=\\\\__|" << endl;
return 0;
}

 

"는 \", \는 \\로 출력하면 된다.

 

<5단계 - 1000번 / A+B>

이건 간단한 문제지만 사이트에 나온 예시 중에서 auto 함수가 있었다. 이는 처음보는 함수이기에 auto함수에 대해 먼저 알아보고 코딩을 해보려고 한다.

 

-auto?

auto는 c++ 11의 키워드로 이는 초기화된 값에 따라 자료의 변수형을 자동으로 맞추는 키워드라고 한다.

다음은 이 예제를 auto를 통해 구현한 코드이다.

#include <iostream>
using namespace std;

int main(void)
{
auto a = 0, b = 0;
cin >> a >> b;
cout << a + b << endl;
return 0;
}

이렇게 되면 a와 b는 0으로 초기화되었기 때문에 자동으로 a, b의 자료형이 정수로 결정된다.

 

이건 그냥 내가 알던 기존의  c++로 구현한 코드이다.

#include <iostream>
using namespace std;

int main(void)
{
int a, b;
cin >> a >> b;
cout << a + b << endl;
return 0;
}

 

<6단계 - 1001번 / A - B>

이는 5단계에서 +를 -로만 바꾸면 된다.

#include <iostream>
using namespace std;

int main(void)
{
auto a = 0, b = 0;
cin >> a >> b;
cout << a - b << endl;
return 0;
}

 

#include <iostream> 
using namespace std; 

int main(void) 
{ 
int a, b; 
cin >> a >> b; 
cout << a - b << endl; 
return 0; 
}

 

<7단계 - 10998번 / A x B>

이것도 그냥 부호만 *로 바꾸면 된다.

#include <iostream>
using namespace std;

int main(void)
{
auto a = 0, b = 0;
cin >> a >> b;
cout << a * b << endl;
return 0;
}

 

#include <iostream> 
using namespace std; 

int main(void) 
{ 
int a, b; 
cin >> a >> b; 
cout << a * b << endl; 
return 0; 
}

 

<8단계 - 1008번 / A / B>

정수 나눗셈을 소수점 결과값까지 얻고 싶다면 변수의 자료형을 double로 선언하면 된다.

#include <iostream>
using namespace std;

int main(void)
{
auto a = 0.0, b = 0.0;
cin >> a >> b;
cout << a / b << endl;
return 0;
}

 

#include <iostream> 
using namespace std;

int main(void)
{
double a, b;
cin >> a >> b;
cout << a / b << endl;
return 0;
}

 

<9단계 - 10869번 / 사칙연산>

#include <iostream> 
using namespace std;

int main(void)
{
auto a = 0, b = 0;  // int a, b;
cin >> a >> b;
cout << a + b << endl;
cout << a - b << endl;
cout << a * b << endl;
cout << a / b << endl;
cout << a % b << endl;
return 0;
}

 

<10단계 - 10430번 / 나머지>

#include <iostream> 
using namespace std;

int main(void)
{
auto a = 0, b = 0, c = 0; // int a, b, c;
cin >> a >> b >> c;
cout << (a + b) % c << endl;
cout << ((a % c) + (b%c)) % c << endl;
cout << (a * b) % c << endl;
cout << ((a % c) * (b%c)) % c << endl;
return 0;
}

 

<11단계 - 2588번 / 곱셈>

이 문제는 그냥 약간의 수학적 사고방식이 필요했다. 하지만 쉽게 해결할 수 있었다.

#include <iostream> 
using namespace std;

int main(void)
{
int x, y, a, b, c, d;
cin >> x >> y; //472, 385
a = y % 10; //5
a *= x; //2360
b = (y % 100) / 10; //8
b *= x; //3776
c = y / 100; //3
c *= x; //1416
d = a + 10 * b + 100 * c;
cout << a << endl;
cout << b << endl;
cout << c << endl;
cout << d << endl;
return 0;
}

 

 

1단계 입출력과 사칙연산 풀이 완료!!

728x90

'코딩테스트 > BOJ' 카테고리의 다른 글

BOJ 입출력 문제 3  (0) 2020.08.06
BOJ 입출력 문제 2  (0) 2020.08.05
BOJ 입출력 문제 1  (0) 2020.08.05
504 Gateway Time-out  (0) 2020.07.27
백준 알고리즘 공부 시작!  (0) 2020.07.27

댓글