본문 바로가기

Algorithm (Java)/문제풀이

[자바/ Java] 백준 2744 - 대소문자 바꾸기

[백준 2744] 대소문자 바꾸기 

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

 

2744번: 대소문자 바꾸기

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

www.acmicpc.net

 

 

코드1:

- Character.toUpperCase(char)/ toLowerCase(char) 메소드 

- System.out.print로 한 단어씩 이어서 출력

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

public class Main{
    
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String input = br.readLine();
        
        for(int i=0; i<input.length(); i++){
            char ch = input.charAt(i);
            if('a' <= ch && ch <= 'z') System.out.print(Character.toUpperCase(ch));
            else System.out.print(Character.toLowerCase(ch));            
        }
        
    }
}

코드2:

- Character.toUpperCase(char)/ toLowerCase(char) 메소드

- toCharArray를 이용하여 char형배열을 채운 후 출력

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

public class Main{
    
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String input = br.readLine();
        
        char[] charArray = input.toCharArray();
        for(int i=0; i<input.length(); i++){
            char ch = input.charAt(i);
            if('a' <= ch && ch <= 'z') charArray[i] = Character.toUpperCase(ch);
            else charArray[i] =Character.toLowerCase(ch);            
        }
        
        System.out.println(charArray);
    }
}

 

코드3:

- 소문자 ->대문자: 해당 문자의 아스키코드에 'A'-'a'  값을 더하기

- 대문자 ->소문자: 해당 문자의 아스키코드에 'a' - 'A' 값을 더하기

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

public class Main{
    
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String input = br.readLine();
        
        char[] charArray = input.toCharArray();
        for(int i=0; i<input.length(); i++){
            char ch = input.charAt(i);
            if('a' <= ch && ch <= 'z') charArray[i] = (char)(ch +'A'-'a');
            else charArray[i] = (char)(ch +'a'-'A');            
        }
        
        System.out.println(charArray);
    }
}