Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- 쿠버네티스 기본 개념
- DB 모델링
- 정보처리기사
- SQL
- 깃허브
- docker 소개
- MVC 패턴
- DB
- 쿠버네티스
- 기본 API
- 프로그래밍 기초
- docker
- 도커
- Flutter
- 기초 선택자
- oracle
- java 기초
- DB 개요
- github
- 웹개발 기초
- DDL
- mybatis
- VS Code
- view
- dql
- java
- ORACLE 기초
- 마크다운
- 필기
- 데이터베이스
Archives
- Today
- Total
핑구
[백준/JAVA] 3052번 : 나머지 본문
https://www.acmicpc.net/problem/3052
3052번: 나머지
각 수를 42로 나눈 나머지는 39, 40, 41, 0, 1, 2, 40, 41, 0, 1이다. 서로 다른 값은 6개가 있다.
www.acmicpc.net
최대한 배열만으로 해결하기 위하여 노력했습니다.
만약 나머지가 다른 경우 배열을 복사한 후 길이를 1 늘려 마지막 부분에 해당 나머지 값을 저장하였습니다.
마지막에는 복사한 배열의 길이를 출력하여 서로 다른 나머지의 개수를 알 수 있게 하였습니다.
주의할 점은 flag의 초기화를 첫 번째 for문 안에 넣어 사용한 후 다시 초기화를 진행하는 것입니다.
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int[] result = new int[10];
for(int i = 0; i < 10; i++) {
result[i] = sc.nextInt() % 42;
}
int[] copyArr = {result[0]};
for(int i = 1; i < result.length; i++) {
boolean flag = false;
for(int j = 0; j < copyArr.length; j++) {
if(result[i] == copyArr[j]) {
flag = true;
break;
}
}
if(!flag) {
copyArr = Arrays.copyOf(copyArr, copyArr.length + 1);
copyArr[copyArr.length - 1] = result[i];
}
}
System.out.println(copyArr.length);
}
}
'CS > 알고리즘' 카테고리의 다른 글
[백준/JAVA] 8958번 : OX 퀴즈 (0) | 2021.09.07 |
---|---|
[백준/JAVA] 1546번 : 평균 (0) | 2021.09.07 |
[백준/JAVA] 2577번 : 숫자의 개수 (0) | 2021.08.22 |
[백준/JAVA] 2562번 : 최댓값 (0) | 2021.08.22 |
[백준/JAVA] 10818번 : 최소, 최대 (0) | 2021.08.22 |