728x90
반응형
▷ 문제
한 개의 문자열을 입력받고, 특정 문자를 입력받아 해당 특정문자가 입력받은 문자열에 몇 개 존재하는지 알아내는 프로그램을 작성하세요.
* 입력
대소문자를 구분하지 않습니다. 또한 문자열의 길이는 100을 넘지 않습니다.
▷ 입력 예시
Computercooler
c
▷ 출력 예시
2
▷ 풀이
1. for문 사용
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(c == str.charAt(i)){
answer++;
}
}
return answer;
}
public static void main(String[] args) {
Main main = new Main();
Scanner kb = new Scanner(System.in);
String str = kb.next();
char c = kb.next().charAt(0);
System.out.println(main.solution(str, c));
}
}
2. forEach 사용
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(char x : str.toCharArray()){
if(x == c){
answer++;
}
}
return answer;
}
public static void main(String[] args) {
Main main = new Main();
Scanner kb = new Scanner(System.in);
String str = kb.next();
char c = kb.next().charAt(0);
System.out.println(main.solution(str, c));
}
}
▷ 핵심 키워드
1. Scanner를 char타입으로 입력받는 것
2. 대소문자를 가리지 않으므로 문자열과 문자 모두 대문자로 변환 후 비교
3. String을 char 배열형으로 만들어 주는 toCharArray()
반응형
'Algorithm > String' 카테고리의 다른 글
| [알고리즘]중복문자 제거 - 입력 받은 문자열에서 중복된 문자 제거하기 (0) | 2021.10.09 |
|---|---|
| [알고리즘]문자찾기 - 입력 받은 문자열에서 특정 문자가 몇 개 존재하는지 알아내기 (0) | 2021.10.09 |
| [알고리즘]단어 뒤집기 - 입력받은 문자열 거꾸로 출력하기 (0) | 2021.10.09 |
| [알고리즘]문장 속 단어 - 입력 받은 문장에서 가장 긴 단어 출력하기 (0) | 2021.10.09 |
| [알고리즘]대소문자 변환 - 입력 받은 문자열의 대소문자 변환하기 (0) | 2021.10.09 |