반응형
문제
설명
한 개의 문자열을 입력받고, 특정 문자를 입력받아 해당 특정문자가 입력받은 문자열에 몇 개 존재하는지 알아내는 프로그램을 작성하세요.
대소문자를 구분하지 않습니다. 문자열의 길이는 100을 넘지 않습니다.
입력
첫 줄에 문자열이 주어지고, 두 번째 줄에 문자가 주어진다.
문자열은 영어 알파벳으로만 구성되어 있습니다.
출력
첫 줄에 해당 문자의 개수를 출력한다.
예시 입력1
Computercooler
c
예시 출력1
2
풀이
import java.util.Scanner;
public class JAVA1 {
public static int solution(String s, char c) {
int answer = 0;
s = s.toUpperCase();
c = Character.toUpperCase(c);
for(int i=0;i<s.length();i++){
if(s.charAt(i) == c)
answer++;
}
return answer;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String s = sc.next();
char c = sc.next().charAt(0);
System.out.println(solution(s, c));
}
}
이 풀이는 가장 기본적인 풀이라고 생각한다
public static int solution(String s, char c) {
int answer = 0;
s = s.toUpperCase();
c = Character.toUpperCase(c);
for(char k: s.toCharArray()){
if(k == c) answer++;
}
return answer;
}
그리고 이 풀이는 기본 for문이 아닌 for each문을 활용한 풀이이다.
알아두어야 할것들
toUpperCase()
이 함수는 String의 모든 소문자를 대문자로 변환하는 함수이다.
값을 반환만 하기 때문에 원본의 값은 변하지 않는다.
Character.toUpperCase(c)
String 이 아닌 char에 대한 변환 함수인데
마찬가지로 소문자를 대문자로 변환한다.
str.toCharArray()
문자열에 대해 문자배열을 생성하는 함수
반응형
'알고리즘 문제풀이' 카테고리의 다른 글
| [SWEA]1926. 간단한 369게임 (0) | 2025.04.28 |
|---|---|
| [SWEA]21425. += (0) | 2025.04.28 |
| 04. 단어 뒤집기 (0) | 2025.04.25 |
| 03. 문장 속 단어 (0) | 2025.04.24 |
| 02. 대소문자 변환 (0) | 2025.04.24 |