본문 바로가기
유수봉 교수님 자바

[JAVA] 369 게임을 한글로 출력하고, 박수를 몇 번 쳤는지 출력

by seung_nari 2023. 10. 27.

교수님 코드가 너무 길어요...

import java.util.*;

public class Main {
    public static void main(String[] args) {
      int total_cnt = 0;
      for(int num = 1; num <= 1000; num++){
        int a = num/10; //십의 자리 수
        int b = num%10; //1의 자리 수
        int cnt=0;
        
        if(num <10) { //num이 1의 자리인 경우
        	if (b%3 == 0 )
        		cnt++;
        }
        
        else {  //num이 10의 자리인 경우
        	if(a %3 == 0) { //10의 자리수가 3으로 나뉠 때
        		cnt++;
        	}
        	if(b == 3 || b == 6 || b == 9){//1의 자리수가 3으로 나뉠 때
        		cnt++;
        	}
        }
        
        switch(cnt) {
            case 0:
            	System.out.println(convert(Integer.toString(num)));
            	break;
            case 1:
                System.out.println("짝");
                total_cnt++;
                break;
            case 2:
                System.out.println("짝짝");
                total_cnt++;
                total_cnt++;
                break;	
            }	
        }
        System.out.println("총 박수 수 : " + total_cnt);
        System.out.println("2019E7028 김승종");
      }
  
    public static String convert(String num) {
        String[] han1 = { "", "일","이","삼", "사", "오", "육", "칠", "팔", "구" };
        String[] han2 = { "", "십", "백", "천" };
        String[] han3 = { "", "만", "억", "조", "경" };

        StringBuffer result = new StringBuffer();
        int leng = num.length();
        int initInt=0;

        for (int i = leng-1; i >= 0; i--) {
            initInt=Integer.parseInt(String.valueOf(num.charAt(leng-i-1)));

            if (initInt > 0) {
                result.append(han1[initInt]);
                result.append(han2[i % 4]); // 십,백,천

            }
            // 만, 억, 조 ,경 단위
            if (i % 4 == 0) {
                result.append(han3[i / 4]); // 천단위
                result.append(" ");
            }

        }
        return result.toString();
    }
}

 

 

 

댓글