본문 바로가기

알고리즘 문제 풀이/C++

[C++] Bronze V - 2744. 대소문자 바꾸기 (Baekjoon)

 

2744. 대소문자 바꾸기

영어 소문자와 대문자로 이루어진 단어를 입력받은 뒤, 대문자는 소문자로, 소문자는 대문자로 바꾸어 출력하는 프로그램을 작성하시오.

www.acmicpc.net

문제 설명

더보기

대소문자 바꾸기

 

문제

영어 소문자와 대문자로 이루어진 단어를 입력받은 뒤, 대문자는 소문자로, 소문자는 대문자로 바꾸어 출력하는 프로그램을 작성하시오.

 

입력

첫째 줄에 영어 소문자와 대문자로만 이루어진 단어가 주어진다. 단어의 길이는 최대 100이다.

 

출력

첫째 줄에 입력으로 주어진 단어에서 대문자는 소문자로, 소문자는 대문자로 바꾼 단어를 출력한다.

 

예제 입력 1

WrongAnswer

 

예제 출력 1

wRONGaNSWER
 

문제 해설

C++ 코드

#include 
#include 
using namespace std;

int main() {
	string str;
	cin >> str;

	for (int i = 0; i < str.length(); i++) {

		if (str[i] >= 65 && str[i] <= 90) {
			str[i] += 32;
		}

		else {
			str[i] -= 32;
		}
	}
	cout << str;

	return 0;
}

 

C++ 코드 해설

  1. 사용자에게 입력받은 문자열을 문자로 나눠서 i에 할당하면서 반복함.
  2. 만약 아스키코드가 65 ~ 90이면(소문자) 32를 더해서 대문자로 만들고, 아니면 32를 빼서 소문자로 만들고 출력함.