알고리즘/문자열, 정렬

[알고리즘] 문자 찾기 with Java, Scanner, charAt, toUpperCase(), toCharArray()

VIPeveloper 2022. 2. 22. 23:24
728x90
반응형

자바 기반으로 알고리즘 공부를 새롭게 시작해보자 !

 

오늘 배운 것

1. Scanner 객체는 next() 함수가 있는데, 한 줄 읽어올 수 있다.

// 한줄 읽어오는 예시
Scanner kb = new Scanner(System.in);
String test = kb.next();

2. next().charAt(0)은 읽어온 문자열 중 한 글자를 읽을 수 있다. 응용 가능하다.

// 한줄 읽어온 후, 한글자만 읽어오기
Scanner kb = new Scanner(System.in);
char c = kb.next().charAt(0);

3. toUpperCase() 함수를 사용해서 문자열 전체를 대문자로 만들 수 있다. 

// 한줄 읽어온 후 대문자로 변경하기
Scanner kb = new Scanner(System.in);
String str = kb.next();
str = str.toUpperCase();

4. char 또한 대문자로 만들 수 있다.

// 한줄 읽어온 후 첫번째 문자를 대문자로 변경하기
Scanner kb = new Scanner(System.in);
char c = kb.next().charAt(0);
c = Character.toUpperCase(c);

5. 문자열을 "문자 배열" 로 만들 수 있다. 예시) "test" -> {"t","e","s","t"}

Scanner kb = new Scanner(System.in);
String str = kb.next();
char[] chars = str.toCharArray();

6. 문제 풀이

import java.util.Scanner;

public class Main {

    public static int solution(String str, char c) {
        int answer = 0;
        str = str.toUpperCase();
        c = Character.toUpperCase(c);
        for (char x : str.toCharArray()) {
            if (x == c) {
                answer++;
            }
        }
        return answer;
    }

    public static void main(String[] args) {

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

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

    }
}

 

느낀점

하루에 한강의씩 듣다보면 언젠간 고수가 되어있지 않을까?? 화이팅 !

728x90
반응형