인프런의 자바(Java)알고리즘 문제풀이 입문:코딩테스트 대비 강좌의 강의를 보고 문제 해설을 작성해보았습니다.
섹션1.String(문자열)편의 문자 찾기 강의편 입니다.
설명
한 개의 문자열을 입력받고, 특정 문자를 입력받아 해당 특정문자가 입력받은 문자열에 몇 개 존재하는지 알아내는 프로그램을 작성하세 요.
대소문자를 구분하지 않습니다.문자열의 길이는 100을 넘지 않습니다.
입력
첫 줄에 문자열이 주어지고, 두 번째 줄에 문자가 주어진다.
문자열은 영어 알파벳으로만 구성되어 있습니다.
출력
첫 줄에 해당 문자의 개수를 출력한다.
package org.algorithm.그레이;
import java.util.Scanner;
public class 문자찾기 {
public static void main(String[] args) {
Scanner text = new Scanner(System.in);
String str = text.next();
char c = text.next().charAt(0);
int count = solution(str,c);
System.out.println(count);
}
public static int solution(String str, char t) {
int cnt = 0;
str=str.toUpperCase();
t=Character.toUpperCase(t);
for(int i=0; i<str.length(); i++)
{
if(str.charAt(i)==t) cnt++;
}
return cnt;
}
}
>> 해설
Scanner 함수를 이용하여 문자열과 문자를 입력 받았습니다.
이 값들을 solution 메서드를 호출시겨 매개변수로 넘겨주고 여기서 중요한 키 포인트가 대소문자를 구분하지 않는다는 것입니다.
그래서 각각의 변수를 toUpperCase() 함수를 이용하여 대문자로 치환해줍니다.
문자열의 갯수 만큼 반복하면서 문자열 값을 하나씩 가져와서 문자값과 비교해줍니다.
그리고 같을 때 마다 cnt 값을 증가시켜주고 리턴시켜 main()에서 출력하면 됩니다.
'Computer Science > Algorithm' 카테고리의 다른 글
[Inflearn] 중복 문자 제거 (0) | 2022.11.02 |
---|---|
[Inflearn] 특정 문자 뒤집기 (0) | 2022.10.30 |
[Inflearn] 단어 뒤집기 (0) | 2022.10.30 |
[Inflearn] 문장 속 단어 (0) | 2022.10.28 |
[Inflearn] 대소문자 변환 (0) | 2022.10.24 |