String 반복문을 돌리기 위해 iterator를 가지고 있는 array로 변환.
char와 매치해야되기때문에 toChar를 사용.
입력 받은 값을 c = Character.toLowerCase(c); 로 바꿔줌.
str의 경우는 str.toLowerCase()하면 되지만, char같은 경우는
메소드에 인자값으로 넣어줘야함.
* 설명
한 개의 문자열을 입력받고, 특정 문자를 입력받아 해당 특정문자가 입력받은 문자열에
몇 개 존재하는지 알아내는 프로그램을 작성하세요.
대소문자를 구분하지 않습니다.문자열의 길이는 100을 넘지 않습니다.
* 입력
첫 줄에 문자열이 주어지고, 두 번째 줄에 문자가 주어진다.
문자열은 영어 알파벳으로만 구성되어 있습니다.
* 출력
첫 줄에 해당 문자의 개수를 출력한다.
class Main {
public int solution(String str, char c){
int count = 0;
c = Character.toLowerCase(c);
for(char x : str.toLowerCase().toCharArray()){
if(x == c ) count++;
}
return count;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
char c = sc.next().charAt(0);
Main T = new Main();
System.out.println(T.solution(str, c));
}
}
알게된 점
if(Character.isLowerCase(c))
* 설명
대문자와 소문자가 같이 존재하는 문자열을 입력받아
대문자는 소문자로 소문자는 대문자로 변환하여 출력하는 프로그램을 작성하세요.
* 입력
첫 줄에 문자열이 입력된다. 문자열의 길이는 100을 넘지 않습니다.
문자열은 영어 알파벳으로만 구성되어 있습니다.
* 출력
첫 줄에 대문자는 소문자로, 소문자는 대문자로 변환된 문자열을 출력합니다.
예시 입력 1 예시 출력 1
StuDY sTUdy
class Main {
public String Solution(String str) {
String answer = "";
for(char c : str.toCharArray()){
if(c >= 'a' && c <= 'z'){
answer += Character.toUpperCase(c);
} else answer += Character.toLowerCase(c);
}
return str;
}
public static void main(String[] args) {
Main main = new Main();
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
System.out.println(main.Solution(str));
}
}