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

 

이번에 볼 문제는 백준 26040번 문제인 특정 대문자를 소문자로 바꾸기이다.
문제는 아래 링크를 확인하자.

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

 

26040번: 특정 대문자를 소문자로 바꾸기

알파벳 대소문자로 구성된 문자열 A가 주어진다. 한 개 이상의 알파벳 대문자가 공백으로 구분된 문자 목록 B가 주어진다. 문자 목록 B에는 중복된 대문자가 존재하지 않는다. 문자 목록 B에 존재

www.acmicpc.net

문자열 A를 먼저 읽고, 소문자로 바꿔야 할 알파벳을 하나씩 읽으면서 각 알파벳을 소문자로 바꿔주는 것으로 문제를 해결할 수 있다.

 

아스키코드 기준으로 각 알파벳 대문자와 소문자는 값이 32 차이가 난다. 이를 이용해 각 대문자를 소문자로 바꾸는 것을 구현할 수 있다.

 

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

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

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

	string A; cin >> A;
	char c;
	while (cin >> c) {
		for (auto& l : A) {
			if (l == c) l += 32;
		}
	}

	cout << A;
}
728x90

+ Recent posts