티스토리 뷰
나머지 문제!
처음 볼 땐 되게 쉬울 거라 생각했는데 막상 풀다보니 난이도가 있었다...!
package boj_basic.step4;
import java.util.Scanner;
public class Q3052 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int[] intArray = new int[10];
int num =0;
for(int i = 0; i<intArray.length; i++) {
num = sc.nextInt();
intArray[i] =num%42;
}
int cnt = 10;
for(int i = 0; i<intArray.length; i++) {
for(int j = i+1; j<intArray.length; j++) {
if(intArray[i] ==intArray[j] && cnt>0)
cnt--;
if(cnt ==0)
cnt++;
}
}
System.out.println(cnt);
}
}
아직 코딩 실력이 턱없이 부족하다고 생각해 오랜시간이 걸려도 최대한 답을 보지 않고 혼자 풀어야겠다고 생각해서 계속 풀다가 예제와는 입출력이 똑같이 나오게는 만들었다. 근데 지금보면 너무나 창피한 답...ㅋ... 그냥 끼워맞추기 식으로 코딩했다 ...ㅋㅋㅋㅋ
나머지를 배열에 모두 집어넣고 반복문을 2개 만들어서 각자 비교하는 식의 답이다. 그렇지만 만약 나머지가 0 0 0 0 0 0 0 0 0 0 식이면 cnt 값이 음수가 나오므로 cnt>0라는 조건을 무작정 추가...^^ 진짜 부끄럽다.....
package boj_basic.step4;
import java.util.Scanner;
public class Q3052 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int[] intArray = new int[42];
int num =0;
for(int i = 0; i<intArray.length; i++) {
intArray[i]=0;
}
for(int i = 0; i<10; i++) {
num = sc.nextInt();
intArray[num%42] =1;
}
int cnt = 0;
for(int i = 0; i<intArray.length; i++) {
if(intArray[i]==1)
cnt++;
}
System.out.println(cnt);
}
}
오기가 생겨 답을 찾아보지 않고 계속 혼자서 생각해보았다. 그런데 문뜩 든 생각이 배열을 42개 만들어서(나머지로 나올 수 있는 종류가 0~41로 42개니까) 모두 0으로 초기화하고, intArray[num%42] =1로 하면 같은 나머지는 계속해서 같은 자리에 1로 저장된다는것! 나중에 1인 것들만 cnt++;로 1씩 키워주면 되는 것이었다......
뭐든지 일단 다 배열에 집어넣고 푸는 것은 별로 좋은 방법이 아님을 깨달았다..!
'알고리즘' 카테고리의 다른 글
백준 #1316 java 2023.01.15 (0) | 2023.01.15 |
---|---|
백준 #2941 java 2023.01.15 (0) | 2023.01.15 |
백준 #1065 java 2023.01.13 (1) | 2023.01.13 |
백준 #4673 java 2023.01.13 (0) | 2023.01.13 |
백준 #1110 java 2023.01.11 (1) | 2023.01.11 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 지연로딩
- 준영속
- 스프링부트
- JPA
- 인텔리제이
- 자바
- SQL 레벨업
- 북마크
- 백준
- elasticsearch
- 자바 스프링
- SQLD
- DP
- 회원탈퇴
- 스프링 커뮤니티
- 커뮤니티
- 로깅
- 비영속
- 영속
- 파이썬
- 웹 MVC
- 스프링 북마크
- 프론트엔드
- 웹MVC
- SQL
- EnumType.ORDINAL
- 백준 파이썬
- 로그아웃
- 스프링
- 다이나믹 프로그래밍
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
31 |
글 보관함