SMALL
1. 문제
https://www.acmicpc.net/problem/3052
3052번: 나머지
각 수를 42로 나눈 나머지는 39, 40, 41, 0, 1, 2, 40, 41, 0, 1이다. 서로 다른 값은 6개가 있다.
www.acmicpc.net
2. 사용 개념
- Scanner
- 반복문 (for문), 이중 반복문
- boolean 변수, int 변수
- 1차원 배열
3. 나의 풀이 (*은 잘 안풀린 부분)
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
//*boolean 이용해서 동일여부 판단!!*
int n, m, i, j, cnt;
// n: 자연수, m: 나머지
// cnt: 서로 다른 나머지의 수
boolean bl; // *배열 값 동일 여부 판단 변수
cnt = 0;
int[] arr = new int[10];
// 나머지 저장소
for (i = 0; i < arr.length; i++) {
n = s.nextInt();
m = n % 42;
arr[i] = m;
}
for (i = 0; i < arr.length; i++) {
bl = false; // * 기본값 초기화!
for (j=i+1; j<arr.length; j++){
if (arr[i] == arr[j]) {
bl = true;
break;
}
}
if (bl==false){
cnt++;
}
}
System.out.println(cnt);
}
}
4. 짚고 넘어가기!
- boolean 변수를 통해 T/F를 판단해야 함!
- boolean 변수를 for문에서 사용할 시, for문이 돌 때 마다 false로 초기화!
- bl이 true인 경우, break를 통해 상위 for문 빠져나오기!
- bl이 false인 경우, cnt 값 증가!
728x90
'Algorithm > Java' 카테고리의 다른 글
[백준] n.10809 - 한 단어에 있는 알파벳의 위치 찾기 (0) | 2023.05.18 |
---|---|
[백준] n.9086 - 각 문자열의 first, last 문자를 함께 출력하기 (0) | 2023.05.17 |
[백준] n.27866 - 문자열 속 i번째 글자 출력 (0) | 2023.05.16 |
[백준] n.1546 - 조작된 평균 구하기 (0) | 2023.05.15 |
[백준] n.10811 - 바구니 번호 뒤집기 (0) | 2023.05.14 |
댓글