문제 내용은 입력으로 텍스트를 받아서 입력 첫 글자에 해당하는 값이 각 문장마다 몇 개나 들어있는지를 문자별로 출력해줘야 하는데, 여기서 대소문자를 구별하지 않는다는 것을 유의하고 입력으로 #를 받으면 입력은 종료된다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
while (true) {
String s = br.readLine();
if (s.equals("#")) {
break;
}
char eng = s.substring(0, 1).charAt(0);
String check = s.substring(2).toLowerCase();
int cnt = 0;
for (int i = 0; i < check.length(); i++) {
if (check.charAt(i) == eng) {
cnt += 1;
}
}
System.out.println(eng + " " + cnt);
}
}
}
문제를 풀어보면 while을 #가 들어오기 전까지는 계속 돌려준 후 이후 substring을 이용해서 첫 글자를 빼내고, 이후 해독할 문장도 분리한 후 모두 소문자로 만들어서 대소문자를 통일한 뒤
문장별로 for문 돌리면서 입력의 첫 글자의 해당하는 값이 몇개인지 확인한 후, 규격에 맞춰서 출력해주면 끝이다.
Leave a Reply