알고리즘 모음(C++)

백준 2744 - 대소문자 바꾸기(C++) 본문

백준

백준 2744 - 대소문자 바꾸기(C++)

공대생의 잡다한 사전 2023. 2. 13. 17:11

문제 링크입니다. https://www.acmicpc.net/problem/2744

 

2744번: 대소문자 바꾸기

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

www.acmicpc.net

문자열을 사용하는 문제입니다.

문자열에 속해있는 알파벳의 대소문자를 바꾸는 문제입니다.

 string을 통해 문자열을 입력 받은 뒤, 문자 하나씩 확인하면서 소문자인지 대문자인지를 구합니다.

1. 소문자일 경우 -> a[i] - 'a' + 'A'

2. 대문자일 경우 -> a[i] - 'A' + 'a'

다음과 같은 연산을 통해 문자열에서 알파벳이 몇번째 순서인지 구하고, 필요한 알파벳을 더해주면서 원하는 알파벳을 찾을 수 있습니다.

 

자세한 것은 코드를 참고해주세요.

#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <cstring>
#include <cstdio>
#include <string>

using namespace std;

string arr;

int main() {
    cin.tie(0);
	cout.tie(0);
	cin >> arr;
	for(int i = 0; i < arr.size(); i++){
	    if(arr[i] >= 'a' && arr[i] <= 'z'){
	        cout << char(arr[i] - 'a' + 'A');
	    }
	    else cout << char(arr[i] - 'A' + 'a');
	}
	return 0;
}

 

 

질문 및 조언은 댓글을 남겨주세요

'백준' 카테고리의 다른 글

백준 14939 - 불 끄기(C++)  (3) 2023.02.17
백준 2738 - 행렬 덧셈(C++)  (0) 2023.02.14
백준 1298 - 노트북의 주인을 찾아서(C++)  (0) 2023.02.13
백준 9576 - 책 나눠주기(C++)  (0) 2023.02.11
백준 11377 - 열혈 강호 3(C++)  (0) 2023.02.11