본문 바로가기

Algorithm/CodeUp

[CodeUp_Java] Q2016 : 천단위 구분기호

반응형

안녕하세요! Plitche(플리체)입니다.
이번 포스팅의 주제는 Q2016 : 천단위 구분기호 (자바, JAVA)입니다.

Intro

Question

문제 설명

큰 수를 표현할 때 자릿수를 쉽게 구분하기 위해 천단위 구분 기호인 콤마(,)를 사용한다.

어떤 수가 입력되면 천단위 구분 기호를 넣어 그 수를 다시 출력하는 프로그램을 작성하시오.

입력

첫째 줄에 숫자의 길이 n이 입력된다. (1≤n≤200)
둘째 줄에 길이가 n인 숫자가 입력된다.

출력

천단위 구분기호 콤마를 넣어 출력하시오.

예시

  • 입력 :
    8
    12421421
  • 출력 : 12,421,421

Solution (풀이)

  • 풀이 : 메모리 11188, 시간 : 69
public class Answer2 {

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

        char[] word = new char[number.length()];
        // m 의 크기만큼 배열 생성
        int a = length%3;
        //컴마를 찍어줄 위치
        for(int i = 0; i < length; i++) {        
            //char 배열에 m글자를 1개씩 집어넣기    
            word[i] = number.charAt(i);
            //만약 n % 3 == 0 이라면 첫 컴마 생략
            if(a == 0) {
                a+=3;
            }
            if(i == a) {    
                //i가 a랑 같다면 a는 3증가, 그리고 컴마를 찍어줌.
                a += 3;
                sb.append(',');            
            }
            //숫자 출력
            sb.append(word[i]);

        }

        System.out.println(sb);
    }
}

Ranking(순위)

반응형