728x90
![](https://blog.kakaocdn.net/dn/1gjUP/btsB6N4o4NG/0v6JaqIJ0p8pPSSZ8XfXpK/img.png)
1. 문제
설명
한 개의 문자열을 입력받고, 특정 문자를 입력받아 해당 특정문자가 입력받은 문자열에 몇 개 존재하는지 알아내는 프로그램을 작성하세요.
대소문자를 구분하지 않습니다.문자열의 길이는 100을 넘지 않습니다.
입력
첫 줄에 문자열이 주어지고, 두 번째 줄에 문자가 주어진다.
문자열은 영어 알파벳으로만 구성되어 있습니다.
출력
첫 줄에 해당 문자의 개수를 출력한다.
예시입력
Computercooler
c
예시출력
2
2. 결과
package topic01_01;
import java.util.Scanner;
public class Main {
public int solution(String str, char c){
int answer = 0;
str = str.toUpperCase(); //문자열을 모두 대문자로 맞춰준다
c = Character.toUpperCase(c);
for (int i = 0; i < str.length(); i++) {
if(str.charAt(i)==c) answer++; //문자열을 인덱스로 접근할때 charAt을 쓴다.
}
return answer;//int 타입으로 반환
}
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));
}
}
3. 포인트
✔️적은 양의 입출력은 Scanner로 받아도 되지만, 많은 양의 입출력은 BufferedReader, StringTokenizer, BufferedWriter를 쓰는 것이 더 빠르다.
✔️문자열을 인덱스로 접근할 때는 charAt을 쓴다.
✔️자바의 Character클래스는 문자 데이터에 대한 다양한 처리를 위한 상수 및 메서드 제공한다.
728x90
'알고리즘&자료구조 > Algorithm' 카테고리의 다른 글
[백트래킹] LeetCode 17. 전화번호 문자 조합 (1) | 2024.01.15 |
---|---|
[DFS]LeetCode 200번. 섬의 개수 (1) | 2024.01.11 |
코딩 테스트를 준비한다면 알아야 할 '시간 복잡도' 이해하기 (1) | 2024.01.03 |
대소문자 변환 (1) | 2023.12.17 |
[알고리즘]백준 2644번 촌수계산(DFS와 BFS알고리즘) (1) | 2023.10.21 |