Notice
Recent Posts
Recent Comments
Link
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Tags more
Archives
Today
Total
관리 메뉴

ultra_dev

문자열.문자찾기 본문

알고리즘

문자열.문자찾기

ultra_dev 2023. 1. 12. 01:29
1. 문자 찾기
 

설명

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

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

입력

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

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

출력

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

예시 입력 1 

Computercooler
c

예시 출력 1

2

📌 .toUpperCase();

→ 대소문자 구분 없을 때 일단 대문자로 바꾸고 시작인가

public int solution(String str, char t){

int answer = 0;
str = str.toUpperCase();
t = Character.toUpperCase(t);   // char 타입은 이렇게 Character. 으로 가는구나!!

for(int i = 0; i < str.length(); i++){
	if(str.charAt(i)==t) answer ++;
}
return answer;
}

ㅇ그리고 인텔리제이에서 실행 해보고 싶으면!!!

import java.util.Scanner;

public 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 sc =new Scanner(System.in);
        String str = sc.next();
        char c = sc.next().charAt(0);
        System.out.println(T.solution(str,c));
    }
} 

이렇게 하면 cccCccc입력하고 c입력하면 딱 나옴

 

여기서 더 개선하려면 이제

for(int i = 0; i < str.length(); i++){
            if(str.charAt(i)==t) answer ++;
        }

이 부분을 ForEach문으로!
: 뒤에 부분은 String 안됨! 배열이나 컬렉션만 가능
for(char x : str.toCharArray()){
	if(x==t) answer ++;
}

📌 .toCharArray() → 문자 배열 객체를 만들어줌

문자열을 한 글자씩 쪼개서

이를 char타입의 배열에 집어넣어주는 친절한 메소드이다.

☑️ 추가로, char형 배열을 합쳐서 하나의 String(문자열)로 만들 수 있다.

'알고리즘' 카테고리의 다른 글

문자열.문장 속 단어(indexOf(),substring())  (0) 2023.01.12
문자열.단어뒤집기  (0) 2023.01.12
문자열.회문문자열  (0) 2023.01.12
문자열.중복문자제거  (0) 2023.01.12
문자열.대소문자  (0) 2023.01.12
Comments