알고리즘 기초 - 5 (대, 소문자 변환)

Algorithm/풀었던문제 2019. 12. 4. 15:47



문자를 하나씩 배열에 넣고, 대문자인지 소문자 인지 확인한 후에 


대문자는 소문자로, 소문자는 대문자로 변경하면 된다.


아스키코드표를 참고하면 소문자의 아스키 코드 (숫자) 범위는 97~122까지 이고, 대문자는 65~90까지이다.


즉, 대문자에서 32를 더하면 소문자가 되고, 소문자에서 32를 빼면 대문자로 변경하는 것이 가능하다는 뜻이다.




- 아스키 코드표 -




Main.java


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
package Problem5;
 
import java.util.Scanner;
 
public class Main {
    
    public static void main(String[] args) {
    
    System.out.println("문자를 입력하세요.");    
    
    Scanner scan = new Scanner(System.in);
    
    String a = scan.nextLine();
    
    System.out.println("내가 입력한 문자 : "+a);    
    
    char []arr;
    
    //String 타입의 메소드인 CharArray 메소드를 사용해서 char타입으로 변환해서 배열에 넣는다.
    //이렇게 하면 배열의 한 요소당 문자를 넣어서 접근할 수 있게 된다.
    arr = a.toCharArray();
    
    //문자를 하나씩 배열에 넣고, 대문자인지 소문자 인지 확인한 후에 대문자는 소문자로,
    //소문자는 대문자로 변경하면 된다.
    //아스키코드표를 참고하면 소문자의 아스키 코드 (숫자) 범위는 97~122까지 이고, 대문자는 65~90까지이다.
    
    //즉, 대문자에서 32를 더하면 소문자가 되고, 소문자에서 32를 빼면 대문자로 변경하는 것이 가능하다는 뜻이다.
    
    for (int i = 0; i < arr.length; i++) {
        
        if(arr[i] <= 90 ) {
            
            arr[i] = (char) (arr[i]+32);
            
        }else if(arr[i] >= 97){
            
            arr[i] = (char) (arr[i]-32);
            
        }
        
        
    }
    
    System.out.print("대 소문자 변환한 문자 출력 : ");
    //변환한 문자를 출력해보기
    for (int i = 0; i < arr.length; i++) {
    
    System.out.print(arr[i]);
    
        }
    }
}
 
 
cs




출력 결과




출처


https://www.youtube.com/watch?v=DTEiENYVR14&list=PLVoihNyHW4xkm_KJ8_N8X7F6EQP4uSRyR&index=6

: