본문 바로가기
백준

[백준] 단계별로 풀어보기(단계:5,1차원 배열,JAVA)3052번, 나머지

by 열정적인 이찬형 2021. 12. 14.

문제 링크

3052번: 나머지
 
www.acmicpc.net

주의사항

  • JAVA를 사용하여 프로그램을 사용하였습니다.
  • 백준에서 코드를 작성하였을 때 아래 형태에서 Main에서 결과가 출력되어야 합니다.
public class Main{ 	
	public static void main(String[] args){
    }
}

 


문제 설명


접근 방법

  • BufferedReader를 사용하여 입력값을 저장합니다.
  • 입력값들을 42의 나머지 값들을 구해서 배열에 저장하였습니다.
  • 반복문을 통해서 나머지가 같으면 -1로 대체하도록 하였습니다.
  • 반복문을 통해서 배열 값이 -1이면 동일한 수이기 때문에 -1를 제외한 수에 개수를 계산하였습니다.
  • 결과값을 System.out.println()을 사용하여 출력하였습니다.

결과 코드

import java.util.*;
import java.io.*;
public class Main {
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        //입력 값을 받는 BufferedReader
        String text;
        int index=0,result=0;
        int[] arr = new int[10];				//나머지 저장될 배열값
        while((text=br.readLine())!=null){
            arr[index++] = Integer.parseInt(text)%42;		//입력값 42로 나눈 나머지 배열에 저장
        }
        for(int i=0;i<arr.length;i++){				//배열 값들이 서로 다른 수인지 확인
        	for(int j=i+1;j<arr.length;j++){
                    if(arr[i]==arr[j]){
                          arr[i]=-1;
                     }
                 }
        }
        for(int i=0;i<arr.length;i++) {		//다른 수를 가진 배열 값 개수 구하기
        	if(arr[i]!=-1) {
        		result++;
        	}
        }
        System.out.println(result);		//결과출력
        br.close();
    }
}

댓글