※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※

 

이번에 볼 문제는 백준 10430번 문제인 나머지이다.
문제는 아래 링크를 확인하자.

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

 

10430번: 나머지

첫째 줄에 A, B, C가 순서대로 주어진다. (2 ≤ A, B, C ≤ 10000)

www.acmicpc.net

문제 자체의 풀이는 주어진 식을 그대로 계산해 출력해주는 것이라 어려울 것은 없다.

 

이 문제에서 알려주고자 하는 내용은 A%C + B%C = (A+B)%C 이지만 (A%C) * (B%C) != (A*B)%C 라는 점이다.

후자가 성립하지 않는 것은 A=2, B=2, C=4를 넣어보면 쉽게 알 수 있다. (좌변: 4, 우변: 0)

이 점은 다수의 수준 있는 modulo 연산을 사용하는 문제에서 기억해두어야 실수를 하지 않으므로 잘 기억해두자.

 

아래는 제출한 소스코드이다.

#include <iostream>
using namespace std;

int main() {
	int A, B, C; cin >> A >> B >> C;
	cout << (A + B) % C << '\n' << ((A % C) + (B % C)) % C << '\n' << (A * B) % C << '\n' << ((A % C) * (B % C)) % C;
}
728x90

'BOJ' 카테고리의 다른 글

[BOJ 10868 // C++] 최솟값  (0) 2021.05.02
[BOJ 2739 // C++] 구구단  (0) 2021.05.01
[BOJ 8393 // C++] 합  (0) 2021.05.01
[BOJ 10102 // C++] 개표  (0) 2021.05.01
[BOJ 2675 // C++] 문자열 반복  (0) 2021.05.01

※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※

 

이번에 볼 문제는 백준 8393번 문제인 합이다.
문제는 아래 링크를 확인하자.

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

 

8393번: 합

n이 주어졌을 때, 1부터 n까지 합을 구하는 프로그램을 작성하시오.

www.acmicpc.net

반복문을 이용하여 덧셈을 할 수도 있겠지만, 글쓴이는 공식을 이용하여 해결했다.

 

1부터 n까지의 합을 계산하는 공식은 n*(n+1)/2이다. 이 공식을 이용하면 문제를 몇 번의 사칙연산으로 간단히 해결할 수 있다.

 

아래는 제출한 소스코드이다.

#include <iostream>
using namespace std;

int main() {
	int n; cin >> n;
	cout << n * (n + 1) / 2;
}
728x90

'BOJ' 카테고리의 다른 글

[BOJ 2739 // C++] 구구단  (0) 2021.05.01
[BOJ 10430 // C++] 나머지  (0) 2021.05.01
[BOJ 10102 // C++] 개표  (0) 2021.05.01
[BOJ 2675 // C++] 문자열 반복  (0) 2021.05.01
[BOJ 2438 // C++] 별 찍기 - 1  (0) 2021.05.01

※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※

 

이번에 볼 문제는 백준 10102번 문제인 개표이다.
문제는 아래 링크를 확인하자.

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

 

10102번: 개표

입력은 총 두 줄로 이루어져 있다. 첫째 줄에는 심사위원의 수 V (1 ≤  V ≤  15)가 주어지고, 둘째 줄에는 각 심사위원이 누구에게 투표했는지가 주어진다. A와 B는 각각 그 참가자를 나타낸다.

www.acmicpc.net

주어진 문자열에서 A와 B의 개수를 각각 센 후, 개수에 따라 출력을 해주는 문제이다.

 

아래는 제출한 소스코드이다.

#include <iostream>
#include <string>
using namespace std;

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

	int cntA = 0, cntB = 0;
	int V; string s; cin >> V >> s;
	for (int i = 0; i < V; i++) {
		if (s[i] == 'A') cntA++;
		else cntB++;
	}
	if (cntA > cntB) cout << 'A';
	else if (cntA < cntB) cout << 'B';
	else cout << "Tie";
}
728x90

'BOJ' 카테고리의 다른 글

[BOJ 10430 // C++] 나머지  (0) 2021.05.01
[BOJ 8393 // C++] 합  (0) 2021.05.01
[BOJ 2675 // C++] 문자열 반복  (0) 2021.05.01
[BOJ 2438 // C++] 별 찍기 - 1  (0) 2021.05.01
[BOJ 10172 // C++] 개  (0) 2021.05.01

※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※

 

이번에 볼 문제는 백준 2675번 문제인 문자열 반복이다.
문제는 아래 링크를 확인하자.

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

 

2675번: 문자열 반복

문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다

www.acmicpc.net

문자열의 각 문자를 순회하면서 그 문자를 반복횟수만큼 출력해주는 문제이다.

 

아래는 제출한 소스코드이다.

#include <iostream>
#include <string>
using namespace std;

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

	int T; cin >> T;

	while (T--) {
		int x; string s; cin >> x >> s;
		int slen = s.length();
		for (int i = 0; i < slen; i++) {
			for (int j = 0; j < x; j++) {
				cout << s[i];
			}
		}
		cout << '\n';
	}
}
728x90

'BOJ' 카테고리의 다른 글

[BOJ 8393 // C++] 합  (0) 2021.05.01
[BOJ 10102 // C++] 개표  (0) 2021.05.01
[BOJ 2438 // C++] 별 찍기 - 1  (0) 2021.05.01
[BOJ 10172 // C++] 개  (0) 2021.05.01
[BOJ 10998 // C++] A×B  (0) 2021.05.01

※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※

 

이번에 볼 문제는 백준 2438번 문제인 별 찍기 - 1이다.
문제는 아래 링크를 확인하자.

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

 

2438번: 별 찍기 - 1

첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제

www.acmicpc.net

반복문을 두개 이용하여 출력을 하는 연습문제로 널리 쓰이는 별 찍기 문제이다.

 

i번째 줄에 i개의 별을 찍으면 되므로, i번째 줄에서 "별을 i번 찍는 반복문"을 사용하는 것으로 문제를 해결할 수 있다.

 

아래는 제출한 소스코드이다.

#include <iostream>
using namespace std;

int main() {
	int N; cin >> N;
	for (int i = 1; i <= N; i++) {
		for (int j = 1; j <= i; j++) {
			cout << '*';
		}
		cout << '\n';
	}
}
728x90

'BOJ' 카테고리의 다른 글

[BOJ 10102 // C++] 개표  (0) 2021.05.01
[BOJ 2675 // C++] 문자열 반복  (0) 2021.05.01
[BOJ 10172 // C++] 개  (0) 2021.05.01
[BOJ 10998 // C++] A×B  (0) 2021.05.01
[BOJ 5717 // C++] 상근이와 친구들  (0) 2021.05.01

※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※

 

이번에 볼 문제는 백준 10172번 문제인 개이다.
문제는 아래 링크를 확인하자.

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

 

10172번: 개

문제 아래 예제와 같이 개를 출력하시오. 입력 출력 예제 입력 1 복사 예제 출력 1 복사 |\_/| |q p| /} ( 0 )"""\ |"^"` | ||_/=\\__|...

www.acmicpc.net

주어진 개 모양 문자를 그대로 출력하는 문제이다.

 

다만, 문제의 개를 그대로 복사해 붙여넣는 것으로 문제를 해결할 수는 없다. 일부 문자가 C++의 문법에서 사용되고 있어, 그대로 출력이 되지 않기 때문이다.

이 문제에 등장하는 문자 중에는 백슬래시(\)를 \\로, 큰 따옴표(")는 \"로 입력해야 한다.

 

아래는 제출한 소스코드이다.

#include <iostream>
using namespace std;

int main() {
	cout << "|\\_/|\n";
	cout << "|q p|   /}\n";
	cout << "( 0 )\"\"\"\\\n";
	cout << "|\"^\"`    |\n";
	cout << "||_/=\\\\__|";
}
728x90

'BOJ' 카테고리의 다른 글

[BOJ 2675 // C++] 문자열 반복  (0) 2021.05.01
[BOJ 2438 // C++] 별 찍기 - 1  (0) 2021.05.01
[BOJ 10998 // C++] A×B  (0) 2021.05.01
[BOJ 5717 // C++] 상근이와 친구들  (0) 2021.05.01
[BOJ 1157 // C++] 단어 공부  (0) 2021.05.01

+ Recent posts