🎁 링크
https://www.acmicpc.net/problem/3052
3052번: 나머지
각 수를 42로 나눈 나머지는 39, 40, 41, 0, 1, 2, 40, 41, 0, 1이다. 서로 다른 값은 6개가 있다.
www.acmicpc.net
🎁 문제 설명
두 자연수 A와 B가 있을 때, A%B는 A를 B로 나눈 나머지 이다. 예를 들어, 7, 14, 27, 38을 3으로 나눈 나머지는 1, 2, 0, 2이다.
수 10개를 입력받은 뒤, 이를 42로 나눈 나머지를 구한다. 그 다음 서로 다른 값이 몇 개 있는지 출력하는 프로그램을 작성하시오
🎁 입출력 예시
🎁 코드
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.HashSet;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
int[] arr = new int[10];
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
for (int i = 0; i < arr.length; i++) {
StringTokenizer st = new StringTokenizer(br.readLine());
int A = Integer.parseInt(st.nextToken());
arr[i] = A % 42;
}
//배열 이용
int count = 0;
for (int i = 0; i < arr.length; i++) {
boolean istrue = false;
for (int j = i + 1; j < arr.length; j++) {
if(arr[i] == arr[j]){
istrue = true;
break;
}
}
if(istrue == false)
{
count++;
}
}
System.out.println(count);
}
}
🎁 코드 설명
1) BufferedReader를 통해 입력 값을 받는다
2) arr[i]에 input을 42로 나눈 나머지를 저장
3) for문으로 arr[i]의 값을 서로 비교하여 같은 수인지 찾기
4) boolean 플래그를 이용하여 값이 동일한 경우 true로 해당 반복문을 빠져나온다
5) istrue = true 인 경우 count++ 해준다
반응형
'코딩테스트 > 백준' 카테고리의 다른 글
백준 10773번: 제로 [Java] (0) | 2023.08.24 |
---|---|
백준 1152번: 단어의 개수 [Java] (0) | 2023.08.15 |
백준 2830번 : 행성 X3 [Java] (0) | 2023.08.14 |
댓글