본문 바로가기
Programming/Algorithm(ACM Problems)

[백준] 2386번 : 도비의 영어 공부 / [자바] JAVA / 학습기록

by jongmln_ 2022. 1. 20.

https://www.acmicpc.net/problem/2386

 

2386번: 도비의 영어 공부

출력의 각 줄은 입력으로 주어진 소문자와 그 소문자 알파벳이 나타난 횟수로 이루어진다. 이때 문장에서 해당 알파벳이 소문자로 나타나던 대문자로 나타나던 모두 세야 한다.

www.acmicpc.net


[백준] 2386번 : 도비의 영어 공부 문제
[백준] 2386번 : 도비의 영어공부 입출력예제


[전체 코드]

import java.util.Arrays;
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		while(true) {
			String str = sc.nextLine(); //입력 문자열을 받을 스트링 변수 생성
			//공백이 들어간 문자열 한문장이 하나의 변수에 들어가야하므로 nextLine()으로 받아준다.
			str = str.toLowerCase(); //대소문자 구별하지 않고 카운트하기 때문에 모두 소문자 변환
			int size = str.length(); //문자열 크기를 size 가독성변수에 담아준다.
			
			int count = 0; //글자 수를 세기 위한 카운트 변수
			if(str.equals("#")) { //입력예제를 무한반복하며 #이 들어오면 반복 종료 한다.
				break;
			}
			
			char ch = str.charAt(0); //도비의 세야할 문자가 문자열 첫번째 들어오기 때문에 첫번째 문자를 담아준다.
			
			for(int i=2;i<size;i++) { //인덱스 2번부터 문장 시작이므로 2부터 문자열 크기 만큼 반복
				if(ch == str.charAt(i)) { //따로 빼놓은 도비의 문자와 같은 문자가 있다면 카운트 +1
					count++;
				}
			}

			System.out.printf("%c %d\n", ch, count); //출력양식에 맞춰 출력
			
		}
	}
	
}

[제출 결과]

제출 결과


제출 결과에서 틀렸는데 틀린 이유는 출력 포맷 양식을 무시하고 제출했다ㅋㅋ;;

이렇게 또 다풀었다고 방심하고 제출하면 생기는 일이다.