(String)문자 찾기/대소문자 변환

-·2023년 12월 6일
0

Inflearn-basicTest

목록 보기
1/27

문자 찾기

toCharArray()

String 반복문을 돌리기 위해 iterator를 가지고 있는 array로 변환.
char와 매치해야되기때문에 toChar를 사용.

Character.toLowerCase(c);

입력 받은 값을 c = Character.toLowerCase(c); 로 바꿔줌.
str의 경우는 str.toLowerCase()하면 되지만, char같은 경우는
메소드에 인자값으로 넣어줘야함.

* 설명

한 개의 문자열을 입력받고, 특정 문자를 입력받아 해당 특정문자가 입력받은 문자열에 
몇 개 존재하는지 알아내는 프로그램을 작성하세요.

대소문자를 구분하지 않습니다.문자열의 길이는 100을 넘지 않습니다.


* 입력
첫 줄에 문자열이 주어지고, 두 번째 줄에 문자가 주어진다.

문자열은 영어 알파벳으로만 구성되어 있습니다.


* 출력
첫 줄에 해당 문자의 개수를 출력한다.
class Main {
    public int solution(String str, char c){

        int count = 0;
        c = Character.toLowerCase(c);
        for(char x : str.toLowerCase().toCharArray()){

            if(x == c ) count++;
        }

        return count;
    }

    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);
        String str = sc.nextLine();
        char c = sc.next().charAt(0);

        Main T = new Main();

        System.out.println(T.solution(str, c));
    }
}

대소문자 변환

알게된 점

  • toCharArray()는 원본에 영향을 미치지 않는다.
  • Character.UpperCase(c) 또한 원본에 영향을 미치지 않는다.
  • 대소문자 판별은 아스킷코드로도 가능하지만, Character.isUpperCase()메소드를 제공한다.
if(Character.isLowerCase(c))
 * 설명
대문자와 소문자가 같이 존재하는 문자열을 입력받아
대문자는 소문자로 소문자는 대문자로 변환하여 출력하는 프로그램을 작성하세요.

* 입력
첫 줄에 문자열이 입력된다. 문자열의 길이는 100을 넘지 않습니다.
문자열은 영어 알파벳으로만 구성되어 있습니다.

* 출력
첫 줄에 대문자는 소문자로, 소문자는 대문자로 변환된 문자열을 출력합니다.
예시 입력 1  예시 출력 1
   StuDY     sTUdy
class Main {

    public String Solution(String str) {

        String answer = "";
        for(char c : str.toCharArray()){
            if(c >= 'a' && c <= 'z'){
                answer += Character.toUpperCase(c);
            } else answer += Character.toLowerCase(c);
        }

        return str;
    }

    public static void main(String[] args) {

        Main main = new Main();
        Scanner sc = new Scanner(System.in);
        String str = sc.nextLine();

        System.out.println(main.Solution(str));
    }
}
profile
신입 개발자의 개인 공부 공간입니다

0개의 댓글