본문 바로가기
백준

[백준] 2744번 : 대소문자 바꾸기 – JAVA [자바]

by Hongwoo 2022. 8. 7.
반응형

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

 

2744번: 대소문자 바꾸기

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

www.acmicpc.net

 

 


  • 문제

 

 


  • 문제 풀이

백준 2744번 대소문자 바꾸기는 브론즈 5 난이도의 구현 및 문자열 문제이다. 이 문제에서는 문자열이 1개 주어진다. 그리고 소문자이면 대문자로 바꾸고, 대문자는 소문자로 바꾼 문자열을 출력하면 된다.

 

이 문제는 Character 클래스에 포함되어 있는 toLowerCase() toUpperCase() 메서드를 이용해서 풀 수 있다. 우선 문자열을 String형으로 입력받고 for-loop을 이용해서 각각의 문자를 인덱스마다 본다. 그리고 각각의 문자가 소문자인지 대문자인지는 isLowerCase()isUpperCase() 메서드로 확인할 수가 있다. 

 

즉, isLowerCase()를 했을 때 true면 toUpperCase()를 해주고 출력을 해주고 만약에 false면 toLowerCase()를 해준 다음에 출력해주면 된다.

 

자세한 코드는 밑에 있다.

 


  • 코드

 

import java.io.*;
import java.util.*;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String s = br.readLine();
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < s.length(); i++) {
            char c = s.charAt(i);
            // 대문자면 소문자로 바꾸기
            if (Character.isUpperCase(c)) {
                sb.append(Character.toLowerCase(c));
            } else {
                // 소문자면 대문자로 바꾸기
                sb.append(Character.toUpperCase(c));
            }
        }
        System.out.print(sb);
    }
}

 

 

반응형

댓글