코테/백준

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

imname1am 2023. 3. 8. 00:52
반응형

🔺 문제

 

2744번: 대소문자 바꾸기

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

www.acmicpc.net

 

🔺 코드

import java.util.*;

public class Main
{
	public static void main(String[] args) {
	    
	    Scanner sc = new Scanner(System.in);
	    String str = sc.next();
	    String result = "";
	    
	    int tmp;
	    
	    for(int i=0 ; i < str.length() ; i++) {
	        tmp = (int)str.charAt(i);
	        
	        if(65<=tmp && tmp<=90) result += (char)(tmp + 32);    // 대문자인 경우
	        else	               result += (char)(tmp - 32);    // 소문자인 경우
	    }
	    
	    
		System.out.println(result);
	}
}

내가 너무나도 취약한 아스키코드!

♦ 대문자 : 65~90
♦ 소문자 : 97~122
♦ 대소문자 차이 : 32 (97-65)

- 문자를 하나씩 받고 아스키 코드 값을 받는다. (14번째 줄)

- 이 문자가 대문자이면, 소문자로 변환하게 32를 더한다. (16번째 줄)

- 이 문자가 소문자이면, 대문자로 변환하게 32를 뺀다. (17번째 줄)

아스키코드 이제는 진짜 외울 때가 되었다!

 

 


(참고)

 

[알고리즘] 아스키코드를 사용한 문자열 변환 (Java)

[알고리즘] 아스키코드를 사용한 문자열 변환 (Java) 알고리즘에서 사용하는 아스키코드에 대해 알아보자. ASCII는 영문 알파벳을 사용하는 대표적인 문자 인코딩이다. 아스키코드 33 ! 느낌표 34 "

rypro.tistory.com

 

반응형