ultra_dev
문자열.문자찾기 본문
1. 문자 찾기
설명
한 개의 문자열을 입력받고, 특정 문자를 입력받아 해당 특정문자가 입력받은 문자열에 몇 개 존재하는지 알아내는 프로그램을 작성하세요.
대소문자를 구분하지 않습니다.문자열의 길이는 100을 넘지 않습니다.
입력
첫 줄에 문자열이 주어지고, 두 번째 줄에 문자가 주어진다.
문자열은 영어 알파벳으로만 구성되어 있습니다.
출력
첫 줄에 해당 문자의 개수를 출력한다.
예시 입력 1
Computercooler
c
예시 출력 1
2
📌 .toUpperCase();
→ 대소문자 구분 없을 때 일단 대문자로 바꾸고 시작인가
public int solution(String str, char t){
int answer = 0;
str = str.toUpperCase();
t = Character.toUpperCase(t); // char 타입은 이렇게 Character. 으로 가는구나!!
for(int i = 0; i < str.length(); i++){
if(str.charAt(i)==t) answer ++;
}
return answer;
}
ㅇ그리고 인텔리제이에서 실행 해보고 싶으면!!!
import java.util.Scanner;
public class Main {
public int solution(String str, char t){
int answer = 0;
str = str.toUpperCase();
t = Character.toUpperCase(t);
for(int i = 0; i < str.length(); i++){
if(str.charAt(i)==t) answer ++;
}
return answer;
}
public static void main(String[] args){
Main T = new Main();
Scanner sc =new Scanner(System.in);
String str = sc.next();
char c = sc.next().charAt(0);
System.out.println(T.solution(str,c));
}
}
이렇게 하면 cccCccc입력하고 c입력하면 딱 나옴
여기서 더 개선하려면 이제
for(int i = 0; i < str.length(); i++){
if(str.charAt(i)==t) answer ++;
}
이 부분을 ForEach문으로!
: 뒤에 부분은 String 안됨! 배열이나 컬렉션만 가능
for(char x : str.toCharArray()){
if(x==t) answer ++;
}
📌 .toCharArray() → 문자 배열 객체를 만들어줌
문자열을 한 글자씩 쪼개서
이를 char타입의 배열에 집어넣어주는 친절한 메소드이다.
☑️ 추가로, char형 배열을 합쳐서 하나의 String(문자열)로 만들 수 있다.
'알고리즘' 카테고리의 다른 글
문자열.문장 속 단어(indexOf(),substring()) (0) | 2023.01.12 |
---|---|
문자열.단어뒤집기 (0) | 2023.01.12 |
문자열.회문문자열 (0) | 2023.01.12 |
문자열.중복문자제거 (0) | 2023.01.12 |
문자열.대소문자 (0) | 2023.01.12 |
Comments