본문 바로가기

Algorithm/CodeUp

[CodeUp_Java] Q1705 : 369 게임

반응형

안녕하세요! Plitche(플리체)입니다.
이번 포스팅의 주제는 Q1705 369 개임 (자바, JAVA)입니다.

Intro

Question

문제 설명

입력

999이하의 자연수가 하나 입력된다.

출력

위 룰에 의한 결과를 출력한다.

예시

  • 입력 : 32
  • 출력 : K

Solution (풀이)

  • 풀이 1 : 메모리 -, 시간 : 반복문 사용으로 실패
public class Answer1 {

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringBuilder sb = new StringBuilder();
        String number = br.readLine();

        int count = 0;
        for (int i=0; i<number.length(); i++) {
            int index = number.charAt(i)-48;
            if (index==3 || index==6|| index==9) {
                count++;
            }
        }

        if (count==0) {
            sb.append(number);
        } else {
            for (int i=0; i<count; i++) {
                sb.append("K");
            }    
        }

        System.out.println(sb);
    }

}
  • 풀이 2 : 메모리 11176, 시간 : 74
public class Answer2 {

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringBuilder sb = new StringBuilder();
        String number = br.readLine();

        int a = number.charAt(0)-48;
        int b = 0;
        int c = 0;
        if (number.length()>1) { b = number.charAt(1)-48; }
        if (number.length()>2) { c = number.charAt(2)-48; }

        int count = 0;

        if (a==3 || a==6 || a==9) count++;
        if (b==3 || b==6 || b==9) count++;
        if (c==3 || c==6 || c==9) count++;

        if (count==3) {
            sb.append("KKK");
        } else if (count==2) {
            sb.append("KK");
        } else if (count==1) {
            sb.append("K");
        } else {
            sb.append(number);
        }

        System.out.println(sb);
    }

}

Ranking(순위)

반응형