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

 

이번에 볼 문제는 백준 1919번 문제인 애너그램 만들기이다.
문제는 아래 링크를 확인하자.

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

 

1919번: 애너그램 만들기

두 영어 단어가 철자의 순서를 뒤바꾸어 같아질 수 있을 때, 그러한 두 단어를 서로 애너그램 관계에 있다고 한다. 예를 들면 occurs 라는 영어 단어와 succor 는 서로 애너그램 관계에 있는데, occurs

www.acmicpc.net

두 영단어가 철자순서를 바꾸어 같아질 수 있다는 것은 두 단어의 구성 알파벳이 같다는 뜻이다.

따라서, 각 문자열에서 겹치는 문자들만큼을 제외한 모든 문자를 지우는 것이 가장 적은 개수의 문자를 지우는 것이 될 것이다.

 

알파벳 대소문자는 아스키 코드에서 128보다 작은 정수에 대응되므로, 알파벳별로 두 문자열에 들어있는 개수의 차이를 배열을 이용해 구하면 문제를 간단히 해결할 수 있다.

 

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

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

int arr[128];

int main() {
	string s1, s2; cin >> s1 >> s2;
	
	for (auto letter : s1) {
		arr[letter]++;
	}
	for (auto letter : s2) {
		arr[letter]--;
	}

	int ans = 0;
	for (auto letter : arr) {
		ans += abs(letter);
	}

	cout << ans;
}
728x90

'BOJ' 카테고리의 다른 글

[BOJ 2475 // C++] 검증수  (0) 2021.05.01
[BOJ 1236 // C++] 성 지키기  (0) 2021.05.01
[BOJ 2557 // C++] Hello World  (0) 2021.05.01
[BOJ 9498 // C++] 시험 성적  (0) 2021.05.01
[BOJ 9506 // C++] 약수들의 합  (0) 2021.05.01

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

 

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

www.acmicpc.net/problem/2557

 

2557번: Hello World

Hello World!를 출력하시오.

www.acmicpc.net

주어진 대로 "Hello World!"를 출력하면 된다.

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

#include <iostream>

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

'BOJ' 카테고리의 다른 글

[BOJ 1236 // C++] 성 지키기  (0) 2021.05.01
[BOJ 1919 // C++] 애너그램 만들기  (0) 2021.05.01
[BOJ 9498 // C++] 시험 성적  (0) 2021.05.01
[BOJ 9506 // C++] 약수들의 합  (0) 2021.05.01
[BOJ 10718 // C++] We love kriii  (0) 2021.05.01

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

 

이번에 볼 문제는 백준 9498번 문제인 시험 성적이다.
문제는 아래 링크를 확인하자.

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

 

9498번: 시험 성적

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

www.acmicpc.net

점수 구간대별로 조건문을 이용하여 A, B, C, D, F를 출력하는 문제이다.

 

매번 점수의 범위를 전부 입력하기보다는 90점보다 크면 A, 그렇지 않으면서 80점보다 크면 B와 같은 식으로 구현하면 문제를 해결할 수 있다. (입력조건에 맞는 입력만 주어지기 때문이다.)

 

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

#include <iostream>
using namespace std;

int main() {
	int N; cin >> N;
	if (N >= 90) cout << 'A';
	else if (N >= 80) cout << 'B';
	else if (N >= 70) cout << 'C';
	else if (N >= 60) cout << 'D';
	else cout << 'F';
}
728x90

'BOJ' 카테고리의 다른 글

[BOJ 1919 // C++] 애너그램 만들기  (0) 2021.05.01
[BOJ 2557 // C++] Hello World  (0) 2021.05.01
[BOJ 9506 // C++] 약수들의 합  (0) 2021.05.01
[BOJ 10718 // C++] We love kriii  (0) 2021.05.01
[BOJ 2741 // C++] N 찍기  (0) 2021.05.01

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

 

이번에 볼 문제는 백준 9506번 문제인 약수들의 합이다.
문제는 아래 링크를 확인하자.

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

 

9506번: 약수들의 합

어떤 숫자 n이 자신을 제외한 모든 약수들의 합과 같으면, 그 수를 완전수라고 한다.  예를 들어 6은 6 = 1 + 2 + 3 으로 완전수이다. n이 완전수인지 아닌지 판단해주는 프로그램을 작성하라.

www.acmicpc.net

이 문제는 주어진 수가 완전수인지 확인하고, 완전수라면 약수의 합의 형태를, 아니라면 그렇지 않다는 문장을 출력하는 문제이다.

 

10만 미만의 완전수는 6, 24, 496, 8128 네 개 뿐이므로, 간단히 조건문으로 문제를 해결할 수 있다.

 

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

#include <iostream>
using namespace std;

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

	int x; cin >> x;
	while (x != -1) {
		if (x == 6) cout << "6 = 1 + 2 + 3\n";
		else if (x == 28) cout << "28 = 1 + 2 + 4 + 7 + 14\n";
		else if (x == 496) cout << "496 = 1 + 2 + 4 + 8 + 16 + 31 + 62 + 124 + 248\n";
		else if (x == 8128) cout << "8128 = 1 + 2 + 4 + 8 + 16 + 32 + 64 + 127 + 254 + 508 + 1016 + 2032 + 4064\n";
		else cout << x << " is NOT perfect.\n";

		cin >> x;
	}
}
728x90

'BOJ' 카테고리의 다른 글

[BOJ 2557 // C++] Hello World  (0) 2021.05.01
[BOJ 9498 // C++] 시험 성적  (0) 2021.05.01
[BOJ 10718 // C++] We love kriii  (0) 2021.05.01
[BOJ 2741 // C++] N 찍기  (0) 2021.05.01
[BOJ 21598 // C++] SciComLove  (0) 2021.05.01

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

 

이번에 볼 문제는 백준 10718번 문제인 We love kriii이다.
문제는 아래 링크를 확인하자.

www.acmicpc.net/problem/10718

 

10718번: We love kriii

ACM-ICPC 인터넷 예선, Regional, 그리고 World Finals까지 이미 2회씩 진출해버린 kriii는 미련을 버리지 못하고 왠지 모르게 올해에도 파주 World Finals 준비 캠프에 참여했다. 대회를 뜰 줄 모르는 지박

www.acmicpc.net

이 문제는 단순히 주어진 문자열을 그대로 출력하면 되는 문제이다.

개행은 \n으로 할 수 있다는 점을 잊지 말자.

 

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

#include <iostream>
using namespace std;

int main() {
	cout << "강한친구 대한육군\n강한친구 대한육군";
}
728x90

'BOJ' 카테고리의 다른 글

[BOJ 9498 // C++] 시험 성적  (0) 2021.05.01
[BOJ 9506 // C++] 약수들의 합  (0) 2021.05.01
[BOJ 2741 // C++] N 찍기  (0) 2021.05.01
[BOJ 21598 // C++] SciComLove  (0) 2021.05.01
[BOJ 3052 // C++] 나머지  (0) 2021.05.01

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

 

이번에 볼 문제는 백준 2471번 문제인 N 찍기이다.
문제는 아래 링크를 확인하자.

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

 

2741번: N 찍기

자연수 N이 주어졌을 때, 1부터 N까지 한 줄에 하나씩 출력하는 프로그램을 작성하시오.

www.acmicpc.net

N을 읽어와, 1부터 N까지의 수를 출력하는 반복문을 만들어 문제를 해결할 수 있다.

 

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

#include <iostream>
using namespace std;

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

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

'BOJ' 카테고리의 다른 글

[BOJ 9506 // C++] 약수들의 합  (0) 2021.05.01
[BOJ 10718 // C++] We love kriii  (0) 2021.05.01
[BOJ 21598 // C++] SciComLove  (0) 2021.05.01
[BOJ 3052 // C++] 나머지  (0) 2021.05.01
[BOJ 2920 // C++] 음계  (0) 2021.05.01

+ Recent posts