- Java
- 2023_1st_Semester
- datastructure
- tensorflow
- Database_Design
- 자격증
- codingTest
- Personal_Study
- SingleProject
- study
- Kubernetes
- 리눅스마스터2급
- cloud_computing
- Operating_System
- pytorch
- Image_classification
- app
- Linux
- Algorithm
- Unix_System
- Univ._Study
- c++
- 티스토리챌린지
- Baekjoon
- Artificial_Intelligence
- C
- Android
- 오블완
- programmers
- Python
코딩 기록 저장소
[백준/Java] 2386번: 도비의 영어 공부 본문
문제 정보
제목 : 도비의 영어 공부
번호 : 2386번
사용 언어 : Java
문제 링크
https://www.acmicpc.net/problem/2386
2386번: 도비의 영어 공부
출력의 각 줄은 입력으로 주어진 소문자와 그 소문자 알파벳이 나타난 횟수로 이루어진다. 이때 문장에서 해당 알파벳이 소문자로 나타나던 대문자로 나타나던 모두 세야 한다.
www.acmicpc.net
시간 제한 | 메모리 제한 |
1 초 | 128 MB |
문제
꿍은 도비의 자유를 위해 영어를 가르치기로 결심했다. 하지만 도비는 바보라 ABC부터 배워야 한다.
그래서 꿍은 영어 문장과 알파벳 하나가 주어지면 그 알파벳이 문장에서 몇 번 나타나는지를 세는 문제들을 내주었다. 하지만 도비는 마법사고 컴공도 마법사다.
여러분은 도비를 위해 문제의 답을 알려주는 프로그램을 만들수 있을것이다!
입력
입력은 몇 개의 줄들로 이루어진다.
각 줄에는 하나의 소문자와 영어 문장이 공백으로 구분되어 주어진다.
각 문장은 길이가 1에서 250이며 입력의 마지막은 #이다.
출력
출력의 각 줄은 입력으로 주어진 소문자와 그 소문자 알파벳이 나타난 횟수로 이루어진다. 이때 문장에서 해당 알파벳이 소문자로 나타나던 대문자로 나타나던 모두 세야 한다.
입출력 예제

나의 풀이
while루프를 이용해 "#"이 입력되기 전까지 반복합니다. 문장이 입력되면 charAt()을 이용해 첫번째 인덱스의 문자를 word변수에 저장합니다. 해당 알파벳의 개수를 세는 함수를 이용해 값을 구하여 -1한 후 result에 저장하고 출력형식에 맞게 출력합니다. 이때 알파벳의 개수를 세는 함수는 replace()와 length()을 이용해 전체 문자열의 길이에서 소문자 및 대문자를 "" 으로 변환한 길이를 빼서 구합니다.
코드
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
while(true) {
String str = br.readLine();
if( str.equals("#")) {
break;
} else {
String word = String.valueOf(str.charAt(0));
int result = countWord(str,word)-1;
bw.write(word + " " + result +"\n");
}
}
bw.flush();
bw.close();
br.close();
}
static int countWord(String s,String word) {
int n1 = s.length() - s.replace(word.toLowerCase(), "").length();
int n2 = s.length() - s.replace(word.toUpperCase(), "").length();
return n1+n2;
}
}
'백준 > 기타' 카테고리의 다른 글
[백준/Java] 17219번: 비밀번호 찾기 (0) | 2023.05.25 |
---|---|
[백준/Java] 1676번: 팩토리얼 0의 개수 (0) | 2023.05.23 |
[백준/Java] 1003번: 피보나치 함수 (0) | 2023.05.18 |
[백준/Java] 1032번: 명령 프롬프트 (0) | 2023.05.12 |
[백준/Java] 1362번: 펫 (0) | 2023.05.12 |