[Algorithm] 문자 찾기

19·2022년 10월 11일
0

Algorithm

목록 보기
12/28
post-custom-banner

1. 문자 찾기

설명

한 개의 문자열을 입력받고, 특정 문자를 입력받아 해당 특정문자가 입력받은 문자열에 몇 개 존재하는지 알아내는 프로그램을 작성하세요.
대소문자를 구분하지 않습니다.문자열의 길이는 100을 넘지 않습니다.

입력

첫 줄에 문자열이 주어지고, 두 번째 줄에 문자가 주어진다.
문자열은 영어 알파벳으로만 구성되어 있습니다.

출력

첫 줄에 해당 문자의 개수를 출력한다.

예시 입력 1

Computercooler
c

예시 출력 1

2



해결

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class StringEx_1 {
    public int solution(String str, char t) {
        str = str.toUpperCase();
        t = Character.toUpperCase(t);
        int count = 0;

//        for (int i = 0; i < str.length(); i++) {
//            if(str.charAt(i) == t) {
//                count++;
//            }
//        }
        for (char x : str.toCharArray()) {
            if (x == t) {
                count++;
            }
        }

        return count;
    }

    public static void main(String[] args) throws IOException {
        StringEx_1 T = new StringEx_1();
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String input = br.readLine();
        char ch = br.readLine().charAt(0);
        System.out.println(T.solution(input, ch));
    }
}
  • 문자열과 문자를 입력받았다.
  • 대소문자를 구분하지 않기 때문에 입력받은 문장과 문자를 대문자로 변경했다.
  • String의 charAt()메소드를 사용해 입력받은 문자와 일치하는 수를 도출했다.
    • for-each문을 사용했을때는 String의 toCharArray()메소드를 사용해 String을 char배열로 변환하고 입력받은 문자와 일치하는 수를 도출했다.

비교적 쉬운 문제임에도 어떻게 풀어야하지?를 고민하는 시간이 길었다.
이 부분에 연습이 미흡하다는 것을 알게 되었고, 좀 더 세분화해서 생각해보는 연습이 필요할 것 같다.
toCharArray() 사용의 실예시를 경험해서 좋았다.

profile
하나씩 차근차근
post-custom-banner

0개의 댓글