지니, 개발하다.

[Algorithm/Java] 1. 문자열 : 02. 문자 찾기 본문

Study/Algorithm (Java)

[Algorithm/Java] 1. 문자열 : 02. 문자 찾기

dev.genii 2022. 9. 25. 23:51

설명

대/소문자가 섞인 문자열을 입력받아 대문자는 소문자로, 소문자는 대문자변환하여 출력

입력

첫줄에 문자열 입력되며 문자열의 길이는 100을 넘지 않음
문자열은 영어 알파벳으로만 구성되어있음

출력

StuDY
sTUdy

작성코드

아스키코드 값을 이용하여 대/소문자 구분

// 대문자, 소문자가 같이 있는 문자열을 입력받아 대문자는 소문자로, 소문자는 대문자로 변환

/* 1. 입력받기
 * 2. 문자열 순서대로 문자로 읽기
 * 3. 유니코드 값을 사용해서 대소문자 구분 후 출력 
 */

    //1. 입력받기
    Scanner sc = new Scanner(System.in);
    System.out.print("문자열을 입력하세요 : ");
    String str = sc.next(); // 입력받은 문자열

    String answer=""; //결과 문자열 
    char chr; // 문자 읽어올 변수 

    for(int i=0; i<str.length(); i++) {
        chr=str.charAt(i); // 문자열을 0번 배열부터 문자 읽어오기 .charAt() : 스트링에 인덱스로 접근 
        if(chr>=65 && 90>=chr) { // 읽은 문자가 대문자일 때 
            answer+=Character.toLowerCase(chr); // 소문자로 변환 
        }else { // 대문자가 아닐 때(소문자 일때)
            answer+=Character.toUpperCase(chr); // 대문자로 변환 
        }
    }
    System.out.print(answer);


다른 풀이

아스키코드를 사용하지 않고 소문자인지 확인하는 .isLowerCase() 를 사용한 문제풀이

String answer="";

        for(char x : str.toCharArray()) { // 문자를 배열로 바꿔주고 문자x로 배열 탐색  
            if(Character.isLowerCase(x)) {//문자가 소문자인지 확인 
                answer+=Character.toUpperCase(x); //대문자로 저장 
            }
            else { //문자가 대문자이면 
                answer+=Character.toLowerCase(x); //소문자로 저장 
            }
        }
        System.out.print(answer);

'Study > Algorithm (Java)' 카테고리의 다른 글

[Algorithm/Java] 1. 문자열 : 01. 문자 찾기  (1) 2022.09.23
Comments