백준 코딩테스트 단계별로 풀어보기
4단계 1차원 배열 8단계 3052 나머지 문제입니다
https://www.acmicpc.net/problem/3052
3052번: 나머지
각 수를 42로 나눈 나머지는 39, 40, 41, 0, 1, 2, 40, 41, 0, 1이다. 서로 다른 값은 6개가 있다.
www.acmicpc.net
단계별로 풀어보기
단계별은 @jh05013님이 관리하고 계십니다. 단계제목설명정보총 문제내가 맞은 문제1입출력과 사칙연산입력, 출력과 사칙연산을 연습해 봅시다. Hello World!132조건문if 등의 조건문을 사용해 봅시다
www.acmicpc.net
문제
두 자연수 A와 B가 있을 때, A%B는 A를 B로 나눈 나머지 이다.
예를 들어, 7, 14, 27, 38을 3으로 나눈 나머지는 1, 2, 0, 2이다.
수 10개를 입력받은 뒤, 이를 42로 나눈 나머지를 구한다.
그 다음 서로 다른 값이 몇 개 있는지 출력하는 프로그램을 작성하시오.
입력
첫째 줄부터 열번째 줄 까지 숫자가 한 줄에 하나씩 주어진다. 이 숫자는 1,000보다 작거나 같고, 음이 아닌 정수이다.
출력
첫째 줄에, 42로 나누었을 때, 서로 다른 나머지가 몇 개 있는지 출력한다.
정답
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int arr [] = new int [10];
int cnt=0;
for (int i=0; i<arr.length; i++) {
arr[i] = sc.nextInt()%42;
}
for (int i=0; i<arr.length; i++) {
int tmp = 0;
for (int j=i+1; j<arr.length; j++) {
if (arr[i]==arr[j]) {
tmp++;
}
}
if (tmp==0) {
cnt++;
}
}
System.out.println(cnt);
}
}
=>
10개짜리 배열에 10개의 숫자를 42로 나눈 나머지를 담고
임의의 변수 tmp를 사용해 배열의 중복값을 거르고
중복되지 않는 경우에만 cnt를 증가시킨다
<또다른 풀이>
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int arr [] = new int [10];
int cnt=0;
for (int i=0; i<arr.length; i++) {
arr[i]=Integer.parseInt(br.readLine())%42;
}
for (int i=0; i<arr.length; i++) {
int tmp=0;
for (int j=i+1; j<arr.length; j++) {
if (arr[i]==arr[j]) {
tmp=1; }
}
if (tmp==0) {
cnt++;
}
}
System.out.println(cnt);
}
}
=>
동일한 방법을 bufferedreader를 사용해서 해결한 풀이

위가 bufferedreader
아래가 scanner
메모리 차이가 커서 bufferedreader 꾸준히 사용할 수 있도록 연습해야겠다
1-1-2557 Hello World https://developernew.tistory.com/41 <- 백준 답지 제출 방법
1-2-1000 A+B https://developernew.tistory.com/42
1-3-1001 A-B https://developernew.tistory.com/43
1-4-10998 AXB https://developernew.tistory.com/44
1-5-1008 A/B https://developernew.tistory.com/45
1-6-10869 사칙연산 https://developernew.tistory.com/46
1-7-10926 ??! https://developernew.tistory.com/47
1-8-18108 1998년생인 내가 태국에서는 2541년생?! https://developernew.tistory.com/48
1-9-10430 나머지 https://developernew.tistory.com/49
1-10-2588 곱셈 https://developernew.tistory.com/50
1-11-11382 꼬마 정민 https://developernew.tistory.com/51
1-12-10171 고양이 https://developernew.tistory.com/52
1-13-10172 개 https://developernew.tistory.com/53
2-1-1330 두 수 비교하기 https://developernew.tistory.com/54
2-2-9498 시험 성적 https://developernew.tistory.com/55
2-3-2753 윤년 https://developernew.tistory.com/56
2-4-14681 사분면 고르기 https://developernew.tistory.com/61
2-5-2884 알람 시계 https://developernew.tistory.com/68
2-6-2525 오븐 시계 https://developernew.tistory.com/69
2-7-2480 주사위 https://developernew.tistory.com/72
3-1-2739 구구단 https://developernew.tistory.com/73
3-2-10950 A+B - 3 https://developernew.tistory.com/75
3-3-8393 합 https://developernew.tistory.com/77
3-4-25304 영수증 https://developernew.tistory.com/79
3-5-25314 코딩은 체육과목 입니다 https://developernew.tistory.com/82
3-6-15552 빠른 A+B https://developernew.tistory.com/83
3-7-11021 A+B -7 https://developernew.tistory.com/85
3-8-11022 A+B -8 https://developernew.tistory.com/86
3-9-2438 별 찍기 -1 https://developernew.tistory.com/87
3-10-2439 별 찍기 -2 https://developernew.tistory.com/89
3-11-10952 A+B -5 https://developernew.tistory.com/90
3-12-10951 A+B -4 https://developernew.tistory.com/91
4-1-10807 개수 세기 https://developernew.tistory.com/97
4-2-10871 X보다 작은 수 https://developernew.tistory.com/100
4-3-10818 최소, 최대 https://developernew.tistory.com/101
4-4-2562 최대값 https://developernew.tistory.com/104
4-5-10810 공 넣기 https://developernew.tistory.com/105
4-6-10813 공 바꾸기 https://developernew.tistory.com/116
4-7-55974 과제 안 내신 분...? https://developernew.tistory.com/121
'코딩테스트 > 백준(JAVA)' 카테고리의 다른 글
백준 코딩테스트 4-7-5597 과제 안 내신 분...? 코딩 문제 java로 푸는 방법 (0) | 2023.04.05 |
---|---|
백준 코딩테스트 4-6-10813 공 바꾸기 코딩 문제 java로 푸는 방법 (0) | 2023.04.03 |
백준 코딩테스트 4-5-10810 공 넣기 코딩 문제 java로 푸는 방법 (0) | 2023.03.29 |
백준 코딩테스트 4-4-2562 최대값 코딩 문제 java로 푸는 방법 (0) | 2023.03.29 |
백준 코딩테스트 4-3-10818 최소, 최대 코딩 문제 java로 푸는 방법 (1) | 2023.03.28 |