설명
문자열 하나와, 특정 문자를 입력받아서 문자열 안에 특정문자가 몇개 존재하는지 알아보는 문제입니다.
대소문자 구분X
문자열은 영어
예시입력
Computercooler
c
예시 출력 1
2
풀이
import java.util.Scanner;
public class Main {
public static void main(String[] args){
Main T = new Main(); //솔루션 메서드를 사용하기위해 Main 메서드를 생성
Scanner kb=new Scanner(System.in);
String str = kb.next(); // String값 천제를 반환해줌
char c = kb.next().charAt(0); // char이기때문에 1개만 반환 해줌
System.out.println(T.solution(str, c)); //솔루션 메서드에 넘기고 출력
return ;
}
public int solution(String str, char t) {
int answer = 0; // 동일한 알파벳을 담을 변수 생성
str = str.toUpperCase(); // 대소문자 구분이 없으므로 str을 전체 대문자로 바꿔줌
t = Character.toUpperCase(t); // char도 대문자로 바꿔줌
for (char c : str.toCharArray()) { // str을 순회
if(c == t) answer ++; // c와 str의 값이 같으면 answer값 올라감
}
return answer;
}
}
사용한 메서드 정리
Scanner.next()
: 입력된 문자열을 읽어들임charAt(int i)
: 문자열 중 i번째 값만 char로 반환함String.toUpperCase()
: 문자열 값을 전체 대문자로 변환시켜줌Character.toUpperCase(char a)
: a값을 대문자로 변환시켜줌String.toCharArray()
: 문자열 값을 char형이 담긴 배열로 반환시켜줌
참고
이 글은 인프런 강의 김태원님의
자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비를 바탕으로 쓴 글입니다.
https://www.inflearn.com/course/자바-알고리즘-문제풀이-코테대비
반응형