강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

australialove19님의 프로필 이미지
australialove19

작성한 질문수

자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비

1. 문자 찾기

스캐너를 받지 않고

작성

·

253

0

```
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();
String str = "Computercooler";
char c = 'c';
System.out.println(T.solution(str, c));

}
 
```
직접 문자열을 입력하면 컴파일 에러가 나는데 , 반드시 스캐너를 통해서 값을 받아야 하나요??

퀴즈

대소문자를 구분하지 않고 문자열 내 특정 문자의 총 개수를 세려면, 어떤 방법이 가장 효율적일까요?

문자열을 반복하며 각 문자가 찾으려는 문자의 대문자 또는 소문자인지 모두 비교한다.

문자열 전체를 한 가지 케이스(예: 모두 대문자)로 통일한 후 해당 문자의 개수를 센다.

대문자와 소문자의 개수를 각각 세어 합산한다.

Set 자료구조를 사용하여 중복 없이 문자를 저장한 후 개수를 센다.

답변 1

1

김태원님의 프로필 이미지
김태원
지식공유자

안녕하세요^^

위에 코드대로라면 class Main의 닫는 중괄호가 빠져서 에러가 납니다.

코드 맨 마지막에 중괄호를 추가하면 에러가 없어지네요.

스캐너를 받지 않고 직접 명시해줘도 되나요? ㅎㅎ

australialove19님의 프로필 이미지
australialove19

작성한 질문수

질문하기