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

 

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

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

 

21598번: SciComLove

당신은 싸이컴을 향해 절을 하려고 합니다. 하지만, 당신이 싸이컴에 들어오고 싶어서 절을 한 번 할 수도 있고, 싸이컴을 매우 싫어해 절을 두 번 할 수도 있습니다. 당신이 절을 할 횟수가 주어

www.acmicpc.net

문제에서 주어진 대로, N을 입력받아 N줄에 걸쳐 한번씩 SciComLove를 출력하면 된다.

 

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

#include <iostream>
using namespace std;

int main() {
	int N; cin >> N;
	while (N--) cout << "SciComLove\n";
}
728x90

'BOJ' 카테고리의 다른 글

[BOJ 10718 // C++] We love kriii  (0) 2021.05.01
[BOJ 2741 // C++] N 찍기  (0) 2021.05.01
[BOJ 3052 // C++] 나머지  (0) 2021.05.01
[BOJ 2920 // C++] 음계  (0) 2021.05.01
[BOJ 10214 // C++] Baseball  (0) 2021.05.01

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

 

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

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

 

3052번: 나머지

각 수를 42로 나눈 나머지는 39, 40, 41, 0, 1, 2, 40, 41, 0, 1이다. 서로 다른 값은 6개가 있다.

www.acmicpc.net

들어오는 10개의 수를 42로 나눠 set 자료구조에 넣은 뒤, set의 원소의 수를 출력하면 문제를 해결할 수 있다.

 

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

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

set<int> S;

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

	for (int i = 0; i < 10; i++) {
		int x; cin >> x;
		S.insert(x % 42);
	}

	cout << S.size();
}
728x90

'BOJ' 카테고리의 다른 글

[BOJ 2741 // C++] N 찍기  (0) 2021.05.01
[BOJ 21598 // C++] SciComLove  (0) 2021.05.01
[BOJ 2920 // C++] 음계  (0) 2021.05.01
[BOJ 10214 // C++] Baseball  (0) 2021.05.01
[BOJ 1008 // C++] A/B  (0) 2021.05.01

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

 

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

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

 

2920번: 음계

다장조는 c d e f g a b C, 총 8개 음으로 이루어져있다. 이 문제에서 8개 음은 다음과 같이 숫자로 바꾸어 표현한다. c는 1로, d는 2로, ..., C를 8로 바꾼다. 1부터 8까지 차례대로 연주한다면 ascending, 8

www.acmicpc.net

이 문제에서, ascending을 출력해야하는 음계는 1 2 3 4 5 6 7 8이 유일하고, descending을 출력해야하는 음계는 8 7 6 5 4 3 2 1이 유일하다는 것을 관찰하자.

 

즉, 1 2 3 4 5 6 7 8, 8 7 6 5 4 3 2 1을 제외한 모든 음계는 mixed를 출력하면 되는 것이다.

 

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

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

int main() {
	string s; getline(cin, s);
	if (s == "1 2 3 4 5 6 7 8") cout << "ascending";
	else if (s == "8 7 6 5 4 3 2 1") cout << "descending";
	else cout << "mixed";
}
728x90

'BOJ' 카테고리의 다른 글

[BOJ 21598 // C++] SciComLove  (0) 2021.05.01
[BOJ 3052 // C++] 나머지  (0) 2021.05.01
[BOJ 10214 // C++] Baseball  (0) 2021.05.01
[BOJ 1008 // C++] A/B  (0) 2021.05.01
[BOJ 1373 // C++] 2진수 8진수  (0) 2021.05.01

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

 

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

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

 

10214번: Baseball

경근이는 수업 과제의 일환으로 연세대학교의 역사를 조사하고 있었다. 케케묵은 도서관 구석에서 경근이가 발견한 것은 역대 연고전의 야구경기 실황 기록문서였다. 하지만 문서를 가지고 있

www.acmicpc.net

각 테스트케이스마다 각 팀의 점수를 더해 승패를 비교해주자.

 

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

#include <iostream>
using namespace std;

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

	int T; cin >> T;
	while (T--) {
		int y, k; cin >> y >> k;
		for (int i = 0; i < 9; i++) {
			int a, b; cin >> a >> b;
			y += a, k += b;
		}
		if (y > k) cout << "Yonsei\n";
		else if (k > y) cout << "Korea\n";
		else cout << "Draw\n";
	}
}
728x90

'BOJ' 카테고리의 다른 글

[BOJ 3052 // C++] 나머지  (0) 2021.05.01
[BOJ 2920 // C++] 음계  (0) 2021.05.01
[BOJ 1008 // C++] A/B  (0) 2021.05.01
[BOJ 1373 // C++] 2진수 8진수  (0) 2021.05.01
[BOJ 10869 // C++] 사칙연산  (0) 2021.05.01

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

 

이번에 볼 문제는 백준 1008번 문제인 A/B이다.
문제는 아래 링크를 확인하자.

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

 

1008번: A/B

두 정수 A와 B를 입력받은 다음, A/B를 출력하는 프로그램을 작성하시오.

www.acmicpc.net

C++에서 두 정수 A, B에 대하여 A/B를 계산하면 A를 B로 나눈 몫이 나온다.

따라서, 이 문제에서 요구하는 소수점을 구하기 위한 나눗셈을 하려면 A와 B를 정수가 아닌 double형 실수로 저장하여 계산해야한다.

 

그렇게 계산한 A/B를 그냥 출력한다면, 문제에서 요구하는 충분한 소숫점 아래 자리수를 충분히 출력하지 못해 틀렸다는 판정을 받게 된다.

fixed와 precision을 이용하여 출력 자릿수를 늘려주자. (간단히만 쓰고 넘어가면, precision은 출력할 자리의 개수를 의미하고, fixed를 이용하면 precision에서 조정할 자리의 개수를 소숫점 아래서부터 세게 할 수 있다.)

 

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

#include <iostream>
using namespace std;

int main() {
	double A, B; cin >> A >> B;
	cout << fixed;
	cout.precision(10);
	cout << A / B;
}
728x90

'BOJ' 카테고리의 다른 글

[BOJ 2920 // C++] 음계  (0) 2021.05.01
[BOJ 10214 // C++] Baseball  (0) 2021.05.01
[BOJ 1373 // C++] 2진수 8진수  (0) 2021.05.01
[BOJ 10869 // C++] 사칙연산  (0) 2021.05.01
[BOJ 2908 // C++] 상수  (0) 2021.05.01

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

 

이번에 볼 문제는 백준 1373번 문제인 2진수 8진수이다.
문제는 아래 링크를 확인하자.

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

 

1373번: 2진수 8진수

첫째 줄에 2진수가 주어진다. 주어지는 수의 길이는 1,000,000을 넘지 않는다.

www.acmicpc.net

이 문제에서는 주어진 2진수를 8진수로 바꿔 출력해야한다.

 

2진수를 1의자리부터 3자리씩 묶어 10진수로 계산한 값을 출력하면 8진수가 된다는 성질을 이용하면 쉽게 계산할 수 있다.

 

string 헤더의 stoi를 이용하면 문제를 간단히 해결할 수 있다.

 

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

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

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

	string s; cin >> s; // 3개씩 끊어읽을 수 있게 leading zero 삽입
	if (s.length() % 3 == 1) s = "00" + s;
	else if (s.length() % 3 == 2) s = "0" + s;

	int slen = (int)s.length();
	int idx = 0;
	while (idx < slen) {
		cout << stoi(s.substr(idx, 3), NULL, 2);
		idx += 3;
	}
}
728x90

'BOJ' 카테고리의 다른 글

[BOJ 10214 // C++] Baseball  (0) 2021.05.01
[BOJ 1008 // C++] A/B  (0) 2021.05.01
[BOJ 10869 // C++] 사칙연산  (0) 2021.05.01
[BOJ 2908 // C++] 상수  (0) 2021.05.01
[BOJ 5355 // C++] 화성 수학  (0) 2021.05.01

+ Recent posts