문제
입력받은 문자열에 입력받은 문자가 몇개 존재하는지 찾기
해답
package main.java.com.inflearn.string.문자찾기;
import java.util.*;
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++;
}
*/
for (char x : str.toCharArray()) {
if(x==t) answer++;
}
return answer;
}
public static void main(String[] args){
Main T = new Main();
Scanner kb = new Scanner(System.in);
String str=kb.next();
char c=kb.next().charAt(0);
System.out.print(T.solution(str, c));
}
}
사용한 클래스 및 메소드
1. Scanner
| 메소드 | 설명 |
| next() | String형 입력 및 리턴 (공백 또는 줄바꿈을 기준으로 한 단어를 읽음) |
| nextLine() | String형 입력 및 리턴 (공백 유무와 상관없이 개행을 기준으로 한줄을 읽음) |
| nextInt() | int형 입력 및 리턴 |
| nextDouble() | double형 입력 및 리턴 |
Scanner 의 입력 메소드들은 대부분 공백과 개행(' ', '\t', '\r', '\n' 등등..)을 기준으로 읽는다.
(char형(문자) 타입으로 받는 메소드는 따로 없다. String으로 받은 뒤, charAt() 메소드로 문자로 반환해야한다.)
2. charAt()
String 타입을 char타입으로 변환할 때 사용한다.
String str = new String("예시");
char c = str.charAt(0); //문자열 0번째 문자를 char타입으로 변환
3. Character
| 메소드 | 설명 |
| char Character.toUpperCase(char ch) | 인수 ch를 대문자로 바꾼다 |
| char Character.toLowerCase(char ch) | 인수 ch를 소문자로 바꾼다 |
4. String.toCharArray()
문자열을 한 글자씩 쪼개서 이를 char 타입의 배열에 집어 넣어주는 메소드이다.
String s1 = "Hello World";
char[] charArr = s1.toCharArray();
char형 배열을 합쳐서 하나의 String(문자열)로 만들 수 있다.
String s2 = new String(charArr);
참조
https://colossus-java-practice.tistory.com/31
'Dev > Algorithm' 카테고리의 다른 글
| [인프런] JAVA 알고리즘 String : 2.대소문자 변환 (0) | 2022.07.25 |
|---|
댓글