본문 바로가기
코딩테스트 연습

[JAVA] 백준 3052 나머지

by HANdeveloper 2023. 10. 17.

import java.util.Scanner;

public class Main{
    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);
        int numArr[] = new int[10];
        boolean result; //n번째와 n+1번째랑 비교하기 위한 변수
        int count=0; //서로 다른 나머지들의 개수를 세는 변수

        for(int i=0;i<numArr.length;i++){
            numArr[i] = sc.nextInt() % 42;
        }
        for(int i=0;i<numArr.length;i++){
            result=false; //기본값 false로 설정
            for(int j=i+1;j<numArr.length;j++){
                if(numArr[i]==numArr[j]) { //배열의 n번째와 n+1번째 값을 비교
                    result=true; //같을 경우 true 반환
                    break; //한번만 비교하면 되니 조건 성립 시 벗어나도록 함
                }
            }
            if(result==false)  {
                count++; // result가 false리면 카운트 1증가
            }
        }
        System.out.println(count);

    }

}

이게 뭐라고..이렇게 시간이 오래걸린건지 ㅠ

카운트를 세는 방식일 때에는 boolean을 사용해서 개수세는 것이 좋다!!

*** 기억하기!!!

이중 for문에서 안쪽 for문에서는 true값을 찾도록 하고

그 밖 if문에서 결과에 따른 false의 개수를 세어 카운트하도록함!!

'코딩테스트 연습' 카테고리의 다른 글

[JAVA] 1316번 그룹 단어 체커  (0) 2023.10.24
[JAVA] 1157번 단어공부 문제!!  (1) 2023.10.23
[백준] 1008번 문제 A/B - java  (0) 2022.10.27

댓글