알고리즘 문제풀이 - String(문자열) :: 1. 문자 찾기

dahee·2022년 2월 16일
0

🔍 Algorithm

목록 보기
1/8

문제

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

입력

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

출력

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

예시 입력 1

Computercooler
c

예시 출력 1

2

🎇 Solution.java

기본 풀이

import java.util.Scanner;
  
class Main {
  
  public int solution(String str, char t) {
    int answer = 0;
    
    str = str.toUpperCase(); 
    t = Character.toUpperCase(t);
    
    for (int i=0; i<str.length(); i++) {
        if (str.charAt(i) == t) {
            answer++;
        }
    }
    
    return answer;
  }
  
  public static void main(String[] args){
    Main T = new Main();
    
    Scanner kb = new Scanner(System.in);
    
    String str = kb.next();
    char c = kb.next().charAt(0);
    
    System.out.print(T.solution(str, c));

  }
}

향상된 for문 풀이

import java.util.Scanner;
  
class Main {
  
  public int solution(String str, char t) {
    int answer = 0;
    
    str = str.toUpperCase(); //대문자로 변환
    t = Character.toUpperCase(t);
    
    for (char x : str.toCharArray()) {
        if (x == t) answer++;
    }
    
    return answer;
  }
  
  public static void main(String[] args){
    Main T = new Main();
    
    Scanner kb = new Scanner(System.in);
    
    String str = kb.next();
    char c = kb.next().charAt(0);
    
    System.out.print(T.solution(str, c));

  }
}

💭 정리

str.toUpperCase() -> String 문자열 대문자 변환
str.toLowerCase() -> String 문자열 소문자 변환
Character.toUpperCase(char) -> char 문자 대문자 변환 
Character.toLowerCase(char) -> char 문자 소문자 변환 
str.charAt(i) -> 문자열의 i번째 문자 추출
str.toCharArray() -> 문자열을 Char 타입의 배열로 변환
profile
왕!!!! 왕!!!! 왕!!초보 🐶발자

0개의 댓글