설명
한 개의 문자열을 입력받고, 특정 문자를 입력받아 해당 특정문자가 입력받은 문자열에 몇 개 존재하는지 알아내는 프로그램을 작성하세요.
대소문자를 구분하지 않습니다.문자열의 길이는 100을 넘지 않습니다.
입력
첫 줄에 문자열이 주어지고, 두 번째 줄에 문자가 주어진다.
문자열은 영어 알파벳으로만 구성되어 있습니다.
출력
첫 줄에 해당 문자의 개수를 출력한다.
예시 입력 1
Computercooler
c
예시 출력 1
2
해결
위 문제에서 대소문자를 구분하지 않는다 하였으므로 입력받은 문자열과 문자를 모두 toLowerCase를 사용하여 소문자로 변환한 뒤 비교하였다.
toLowerCase() : 대문자 -> 소문자toLowerCase(): 소문자 -> 대문자
그다음 변환된 문자열과 문자를 반복문을 통해서 비교한뒤 count라는 변수의 값을 return 하였다.
CODE
public class Main {
public static int solution(String str, char c){
int count = 0;
str = str.toLowerCase();
c = Character.toLowerCase(c);
for(int num =0; num<str.length(); num++){
if(c == str.charAt(num))
count++;
}
return count;
}
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String str = in.next();
char c = in.next().charAt(0);
System.out.println(solution(str,c));
}
}
결과
밑에 틀렸던 이유는 첫번째 줄에 입력받은 문자열은 소문자로 변환하였지만 두번째 줄에 입력받은 문자를 소문자로 변환하지 않아서 생긴 예외 때문이다.
'문제 풀이 > 인프런' 카테고리의 다른 글
[JAVA11/알고리즘]1-6 중복 문자 제거 (0) | 2022.08.02 |
---|---|
[JAVA11/알고리즘] 1-5 특정 문자 뒤집기 (1) | 2022.07.31 |
[Java11/알고리즘] 1-4 단어 뒤집기 (0) | 2022.07.31 |
[Java11/알고리즘] 1-3 문장 속 단어 (1) | 2022.07.29 |
[JAVA11/알고리즘] 1-2 대소문자 변환 (0) | 2022.07.29 |