코테

백준 단계별로 풀어보기 (1)

hhzn 2024. 8. 30. 17:09

 

 

백준의 단계별로 풀어보기 문제들은 코테 입문하기 전에 기본 C++ 문법 다지기 매우 좋은 문제들이라고 생각한다.  (필자는 C++로 풀었음)
STL 복습 및 새로운 알고리즘 찾고 배우는데에도 매우 도움이 되고있다.
간단한 문제이지만 알고리즘을 간결하게 짜는건 다른 문제라는 생각이 든다.
기초를 다지면서 코테를 풀기 위해서 필요한 몇 지식들을 자연스럽게 습득할 수 있다는 점이 좋았다!

아래는 내가 제시한 해답이다. (문제의 내용은 따로 기재하지 않았다.)


https://www.acmicpc.net/problem/2557

2557번 Hello World

나의 풀이

#include <iostream>

int main()
{
	std::cout << "Hello World!";
}

 


https://www.acmicpc.net/problem/1000

1000번  A+B

 

나의 풀이

#include <iostream>

int main()
{
	int A, B;
	std::cin >> A >> B;

	std::cout << A + B;
}

 


https://www.acmicpc.net/problem/1001

1001번 A-B

나의 풀이

#include <iostream>

int main()
{
	int A, B;
	std::cin >> A >> B;

	std::cout << A - B;
}

 


https://www.acmicpc.net/problem/10998

10998번 AxB

 

나의 풀이

#include <iostream>

int main()
{
	int A, B;
	std::cin >> A >> B;

	std::cout << A * B;
}

 


https://www.acmicpc.net/problem/1008

1008번 A/B

 

나의 풀이 

#include <iostream>

int main()
{
	int A, B;

	std::cin >> A >> B;
	double result = double(A) / double(B);
	std::cout.precision(9);
	std::cout << result;
}

 

ostream 객체인 cout의 멤버함수 precision을 출력하여 소수점 자릿수를 설정할 수 있다.
정확도를 요구하는 문제에서 사용하여야 한다.

 

 


https://www.acmicpc.net/problem/10869

10869번 사칙연산

 

나의 풀이

#include <iostream>

int main()
{
	int A, B;
	std::cin >> A >> B;

	std::cout << A + B << std::endl;
	std::cout << A - B << std::endl;
	std::cout << A * B << std::endl;
	std::cout << A / B << std::endl;
	std::cout << A % B << std::endl;
}

 


https://www.acmicpc.net/problem/10926

10926번 ??!

 

나의 풀이

#include <iostream>
#include <string>

int main()
{
	std::string str;
	std::cin >> str;
	std::cout << str + "??!";
}

 


https://www.acmicpc.net/problem/18108

18108번 1998년생인 내가 태국에서는 2541년생?!
(이거완전라노벨말투잔아;;)

 

나의 풀이

#include <iostream>

int main()
{
	int Y;
	std::cin >> Y;
	std::cout << Y - 543;
}

https://www.acmicpc.net/problem/10430

10430번 나머지

 

나의 풀이

#include <iostream>

int main()
{
	int A, B, C;
	std::cin >> A >> B >> C;

	std::cout << (A + B) % C << std::endl;
	std::cout << ((A % C) + (B % C)) % C << std::endl;
	std::cout << (A * B) % C << std::endl;
	std::cout << ((A % C) * (B % C)) % C << std::endl;
}

https://www.acmicpc.net/problem/2588

2588번 곱셈

 

나의 풀이

#include <iostream>
#include <cmath>

int main()
{
	int A, B;
	std::cin >> A >> B;

	
	for (int i = 1; i <= 3; ++i) {
		int n = std::pow(10, i);
		int n2 = std::pow(10, i - 1);
		std::cout << A * ((B % n) - (B%n2)) / n2<< std::endl;
	}

	std::cout << A * B << std::endl;
}

https://www.acmicpc.net/problem/11382

11382번 꼬마 정민

 

나의 풀이

#include <iostream>

int main()
{
	unsigned long long A, B, C;
	std::cin >> A >> B >> C;
	std::cout << A + B + C << std::endl;
}

문제에서 주어진 조건이 A, B, C (1 ≤ A, B, C ≤ 1012) 이기 때문에 unsigned long long 을 사용하였다.


https://www.acmicpc.net/problem/10171

10171번 고양이

 

나의 풀이

#include <iostream>
#include <string>

int main()
{
	std::string str{"\\    /\\\n )  ( \')\n(  /  )\n \\(__)| "};
	std::cout << str;
}

https://www.acmicpc.net/problem/10172

10172번 개

나의 풀이

#include <iostream>
#include <string>

int main()
{
	std::string str{ "|\\_/|\n|q p|   /}\n( 0 )\"\"\"\\\n|\"^\"`    |\n||_/=\\\\__|" };

	std::cout << str;
}