1. 문제 링크

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

 

2480번: 주사위 세개

1에서부터 6까지의 눈을 가진 3개의 주사위를 던져서 다음과 같은 규칙에 따라 상금을 받는 게임이 있다.  같은 눈이 3개가 나오면 10,000원+(같은 눈)*1,000원의 상금을 받게 된다.  같은 눈이 2개만 나오는 경우에는 1,000원+(같은 눈)*100원의 상금을 받게 된다.  모두 다른 눈이 나오는 경우에는 (그 중 가장 큰 눈)*100원의 상금을 받게 된다.   예를 들어, 3개의 눈 3, 3, 6이 주어지면 상금은 1,000+3*100으로 계

www.acmicpc.net

 

 

 

2. 문제 설명

세개의 값을 입력받은 후 규칙에 따라 계산하여 출력하는 문제입니다.

 

 

 

3. 소스코드

BOJ 2480번 주사위 세개 C++ 풀이입니다.

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

int main(void)
{
	ios::sync_with_stdio(0);
	cin.tie(0); cout.tie(0);

	vector<int> v(3);
	cin >> v[0] >> v[1] >> v[2];

	sort(v.begin(), v.end());
	if (v[0] == v[1] && v[1] == v[2]) cout << 10000 + (v[0] * 1000);
	else if (v[0] == v[1]) cout << 1000 + (v[0] * 100);
	else if (v[0] == v[2]) cout << 1000 + (v[0] * 100);
	else if (v[1] == v[2]) cout << 1000 + (v[1] * 100);
	else cout << v[2] * 100;

	return 0;
}

세개의 값 중 최댓값을 사용해야하는 경우가 있어서 vector에 입력받아 sort함수로 정렬 후 계산했습니다.

 

 

 

#include <iostream>
using namespace std;

int main(void)
{
	ios::sync_with_stdio(0);
	cin.tie(0); cout.tie(0);

	int a, b, c;
	cin >> a >> b >> c;

	if (a == b && b == c)
	else if (a == b) cout << 1000 + (a * 100);
	else if (b == c) cout << 1000 + (b * 100);
	else if (a == c) cout << 1000 + (a * 100);
	else if (a > b ?
    		(a > c ? out << a * 100 : cout << c * 100)
    		: (b > c ? cout << b * 100 : cout << c * 100))
 /*
	else if (a > b && a > c) cout << a * 100;
	else if (b > a && b > c) cout << b * 100;
	else if (c > a && c > b) cout << c * 100;
*/

	return 0;
}

굳이 vector를 사용하기 싫으시면 위의 코드와 같이 풀어도 됩니다.

마지막 else if문에 최댓값을 찾기 위해 삼항연산자를 사용하였는데 이를 풀어 쓰면 아래 주석 처리한 3줄과 동일합니다.

'Algorithm > Study' 카테고리의 다른 글

[백준 2562번 C++] 최댓값  (0) 2020.04.29
[백준 2490번 C++] 윷놀이  (0) 2020.04.29
[백준 2753번 C++] 윤년  (0) 2020.04.29
[백준 2752번 C++] 세수정렬  (0) 2020.04.28
[백준 9498번 C++] 시험 성적  (0) 2020.04.28

1. 문제 링크

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

 

2753번: 윤년

연도가 주어졌을 때, 윤년이면 1, 아니면 0을 출력하는 프로그램을 작성하시오. 윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일 때이다. 예를 들어, 2012년은 4의 배수이면서 100의 배수가 아니라서 윤년이다. 1900년은 100의 배수이고 400의 배수는 아니기 때문에 윤년이 아니다. 하지만, 2000년은 400의 배수이기 때문에 윤년이다.

www.acmicpc.net

 

 

 

2. 문제 설명

연도를 입력받아 윤년이면 1, 아니면 0을 출력하는 문제입니다.

 

 

 

3. 소스코드

BOJ 2753번 윤년 C++ 풀이입니다.

#include <iostream>
using namespace std;

int main(void)
{
	ios::sync_with_stdio(0);
	cin.tie(0); cout.tie(0);

	int year;
	cin >> year;

	if ((year % 4 == 0 && year % 100 != 0)
		|| year % 400 == 0) cout << 1;
	else cout << 0;

	return 0;
}

if문 안에서 &&와 ||을 적절히 사용하면 됩니다.

참고로 이 문제에서는 신경쓰지 않아도 되지만 &&가 ||보다 우선순위가 높습니다.

'Algorithm > Study' 카테고리의 다른 글

[백준 2490번 C++] 윷놀이  (0) 2020.04.29
[백준 2480번 C++] 주사위 세개  (0) 2020.04.29
[백준 2752번 C++] 세수정렬  (0) 2020.04.28
[백준 9498번 C++] 시험 성적  (0) 2020.04.28
[백준 10869번 C++] 사칙연산  (0) 2020.04.28

1. 문제 링크

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

 

2752번: 세수정렬

숫자 세 개가 주어진다. 이 숫자는 1보다 크거나 같고, 1,000,000보다 작거나 같다. 이 숫자는 모두 다르다.

www.acmicpc.net

 

 

 

2. 문제 설명

세 수를 입력받아서 정렬 후 출력하는 문제입니다.

 

 

 

3. 소스코드

BOJ 2752번 세수정렬 C++ 풀이입니다.

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

int main(void)
{
	ios::sync_with_stdio(0);
	cin.tie(0); cout.tie(0);

	vector<int> v(3);
	cin >> v[0] >> v[1] >> v[2];

	sort(v.begin(), v.end());
	cout << v[0] << ' ' << v[1] << ' ' << v[2];

	return 0;
}

vector를 사용하기 위해서는 <vector> 헤더 파일을 include 해줘야 합니다.

vector의 사용법은 vector<자료형> 변수명(크기) 입니다.

sort함수를 사용하기 위해서는 <algorithm> 헤더 파일을 include 해줘야 합니다.

sort함수의 사용법은 sort(시작 지점, 끝 지점) 입니다.

시작 지점을 포함하고, 끝 지점을 포함하지 않는 범위까지 오름차순으로 정렬을 해줍니다.

vector를 sort함수에 사용하는 경우 v.begin()v.end()를 사용할 수 있습니다.

'Algorithm > Study' 카테고리의 다른 글

[백준 2480번 C++] 주사위 세개  (0) 2020.04.29
[백준 2753번 C++] 윤년  (0) 2020.04.29
[백준 9498번 C++] 시험 성적  (0) 2020.04.28
[백준 10869번 C++] 사칙연산  (0) 2020.04.28
[백준 10171번 C++] 고양이  (0) 2020.04.28

1. 문제 링크

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

 

9498번: 시험 성적

시험 점수를 입력받아 90 ~ 100점은 A, 80 ~ 89점은 B, 70 ~ 79점은 C, 60 ~ 69점은 D, 나머지 점수는 F를 출력하는 프로그램을 작성하시오.

www.acmicpc.net

 

 

 

2. 문제 설명

if ~ else if ~ else문을 이용하면 됩니다.

 

 

 

3. 소스코드

BOJ 9498번 시험 성적 C++ 풀이입니다.

#include <iostream>
using namespace std;

int main(void)
{
	ios::sync_with_stdio(0);
	cin.tie(0); cout.tie(0);

	int score;
	cin >> score;

	if (score >= 90) cout << 'A';
	else if (score >= 80) cout << 'B';
	else if (score >= 70) cout << 'C';
	else if (score >= 60) cout << 'D';
	else cout << 'F';

	return 0;
}

 

'Algorithm > Study' 카테고리의 다른 글

[백준 2753번 C++] 윤년  (0) 2020.04.29
[백준 2752번 C++] 세수정렬  (0) 2020.04.28
[백준 10869번 C++] 사칙연산  (0) 2020.04.28
[백준 10171번 C++] 고양이  (0) 2020.04.28
[백준 2557번 C++] Hello World  (0) 2020.04.28

1. 문제 링크

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

 

10869번: 사칙연산

두 자연수 A와 B가 주어진다. 이때, A+B, A-B, A*B, A/B(몫), A%B(나머지)를 출력하는 프로그램을 작성하시오. 

www.acmicpc.net

 

 

 

2. 문제 설명

두 자연수 A와 B를 입력받은 후, A + B, A - B, A * B, A / B, A % B를 출력하는 문제입니다. B가 자연수이므로 0으로 나누는 경우는 생각하지 않아도 됩니다.

 

 

 

3. 소스코드

BOJ 10869번 사칙연산 C++ 풀이입니다.

#include <iostream>
using namespace std;

int main(void)
{
	ios::sync_with_stdio(0);
	cin.tie(0); cout.tie(0);

	int A, B;
	cin >> A >> B;

	cout << A + B << '\n';
	cout << A - B << '\n';
	cout << A * B << '\n';
	cout << A / B << '\n';
	cout << A % B;

	return 0;
}

 

cout에서 endl은 '\n'을 출력하고 flush를 하기 때문에 그냥 '\n'을 출력하는 것이 더 빠릅니다.

'Algorithm > Study' 카테고리의 다른 글

[백준 2752번 C++] 세수정렬  (0) 2020.04.28
[백준 9498번 C++] 시험 성적  (0) 2020.04.28
[백준 10171번 C++] 고양이  (0) 2020.04.28
[백준 2557번 C++] Hello World  (0) 2020.04.28
[백준 1000번 C++] A+B  (0) 2020.04.27

1. 문제 링크

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

 

10171번: 고양이

문제 아래 예제와 같이 고양이를 출력하시오. 입력 출력 고양이를 출력한다. 예제 입력 1 복사 예제 출력 1 복사 \ /\ ) ( ') ( / ) \(__)|...

www.acmicpc.net

 

 

 

2. 문제 설명

고양이를 출력하는 문제입니다. \를 출력하려면 \\라고 써야 합니다.

 

 

 

3. 소스코드

BOJ 10171번 고양이 C++ 풀이입니다.

#include <iostream>
using namespace std;

int main(void)
{
	ios::sync_with_stdio(0);
	cin.tie(0); cout.tie(0);

	cout << "\\    /\\\n";
	cout << " )  ( ')\n";
	cout << "(  /  )\n";
	cout << " \\(__)|";

	return 0;
}

이 문제에서 6, 7번 라인은 당연히 생략해도 됩니다. 저는 익숙해지기 위해서 사용했습니다. 

'Algorithm > Study' 카테고리의 다른 글

[백준 2752번 C++] 세수정렬  (0) 2020.04.28
[백준 9498번 C++] 시험 성적  (0) 2020.04.28
[백준 10869번 C++] 사칙연산  (0) 2020.04.28
[백준 2557번 C++] Hello World  (0) 2020.04.28
[백준 1000번 C++] A+B  (0) 2020.04.27

1. 문제 링크

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

 

2557번: Hello World

Hello World!를 출력하시오.

www.acmicpc.net

 

 

 

2. 문제 설명

"Hello World!"를 출력하는 문제입니다. 마지막에 !가 있다는 것에 주의해야 합니다.

 

 

 

3. 소스코드

BOJ 2557번 Hello World C++ 풀이입니다.

#include <iostream>
using namespace std;

int main(void)
{
	ios::sync_with_stdio(0);
	cin.tie(0); cout.tie(0);

	cout << "Hello World!";

	return 0;
}

이 문제에서 6, 7번 라인은 당연히 생략해도 됩니다. 저는 익숙해지기 위해서 사용했습니다. 

'Algorithm > Study' 카테고리의 다른 글

[백준 2752번 C++] 세수정렬  (0) 2020.04.28
[백준 9498번 C++] 시험 성적  (0) 2020.04.28
[백준 10869번 C++] 사칙연산  (0) 2020.04.28
[백준 10171번 C++] 고양이  (0) 2020.04.28
[백준 1000번 C++] A+B  (0) 2020.04.27

1. 문제 링크

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

 

1000번: A+B

문제 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 A와 B가 주어진다. (0 < A, B < 10) 출력 첫째 줄에 A+B를 출력한다. 예제 입력 1 복사 1 2 예제 출력 1 복사 3 힌트 여기를 누르면 1000번 예제 소스를 볼 수 있습니다....

www.acmicpc.net

 

 

 

2. 문제 설명

A와 B를 입력받은 후, A + B를 출력하는 문제입니다.

 

 

 

3. 소스코드

BOJ 1000번 A+B C++ 풀이입니다.

#include <iostream>
using namespace std;

int main(void)
{
	ios::sync_with_stdio(0);
	cin.tie(0); cout.tie(0);

	int A, B;
	cin >> A >> B;

	cout << A + B;

	return 0;
}

이 문제에서 6, 7번 라인은 당연히 생략해도 됩니다. 저는 익숙해지기 위해서 사용했습니다. 

'Algorithm > Study' 카테고리의 다른 글

[백준 2752번 C++] 세수정렬  (0) 2020.04.28
[백준 9498번 C++] 시험 성적  (0) 2020.04.28
[백준 10869번 C++] 사칙연산  (0) 2020.04.28
[백준 10171번 C++] 고양이  (0) 2020.04.28
[백준 2557번 C++] Hello World  (0) 2020.04.28

+ Recent posts