728x90
반응형

문제

  • 정수형 값의 단위를 표시하시오.
  • 배열에 값을 저장하여 출력하시오.

 

 

1. 콤마로 단위 표시

▶ 코드

		int iNum=Integer.MAX_VALUE; //int형의 최댓값을 저장. 2147483648부터는 오류
		
		int arr[] = new int[50];
		int i; //배열의 맨 끝을 알기 위해 전역 변수로 선언
		
		System.out.print(iNum+" -> ");
		
		//숫자를 읽어 배열에 넣음. 배열에는 값이 거꾸로 넣어짐(2147483647 -> 7463847412)
		for(i=0;iNum!=0;i++){
			arr[i]=iNum%10;
			iNum=iNum/10;
		}
        
		//3번 출력할 때 마다 콤마를 출력. 맨 끝의 배열 값부터 0번째까지 출력
		for(int k=i-1;k>0;k--){
			System.out.print(arr[k]);
			if(k%3 == 0)
				System.out.print(",");
		}

 

▶ 출력 결과

2147483647 -> 2,147,483,647

 

 

2. 원 단위로 표시

▶ 코드

		String money[]=new String[]{"원","만","억","경","해","자"}; //돈 단위 출력
		int count=0; //몇 번째 money부터 출력할지 카운트하는 변수
        
		//거꾸로 출력하기 때문에 돈 단위의 끝 값을 구함	
		for(int k=i-1;k >= 0;k--){
			if(k%4==0&& k!=0)	//4번마다 단위가 바뀜. 예를 들어 10000이면 money[1]부터 [0]까지 출력.
				count++;
		}

		//출력
		for(int k=i-1;k>0;k--){
			System.out.print(arr[k]);
			if(k%4 == 0){
				System.out.print(money[count]+" ");
				count--;
			}
		}

 

▶ 출력 결과

2,147,483,647 -> 21억 4748만 3647원

 

728x90
반응형

+ Recent posts