백준 1009번 분산처리

Kyu·2021년 1월 6일
0

알고리즘

목록 보기
3/7
post-thumbnail

첫번째 생각한 방법
1. 그냥 주어진 숫자를 모두 계산하는 것
2. 근데 큰숫자는 무리데스였다.

두번째 생각한 방법
1. 무한대의 큰숫자를 쓸 수 있는 BigInteger 를 찾아냈다.
2. 답은 나오지만 백준에서 메모리초과 뜸

세번째 생각한 방법.
1. for문으로 몇번째인지 알아내기?
2. 예를들어서 100/7의 나머지는 2이고, 635/9의 나머지는 5이다. 근데 연관성이 없어보임

네번쨰 생각한 방법.
1. ArrayList에 1부터 9까지 계속 제곱했을때의 반복하는 숫자들을 담는다
2. length로 길이 알아내기
3. length로 지수를 나눈다
4. 나머지값 - 1의 인덱스값이 정답!
5. 만약에 -1했는데 인덱스값이 -1이 나오면, 즉 나눈값이 0이면 인덱스 값을 length -1로 설정한다.

코드:
https://github.com/kyu-kim-kr/algorithm/blob/master/src/backjoon/P1009.java

profile
TIL 남기는 공간입니다

0개의 댓글