일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 신규 아이디 추천
- Trusted Advisor
- AWS 모니터링 및 분석 서비스
- Cloudtrail
- 코딩테스트
- aws#키페어
- AWS 기초자격증
- aws
- The virtual machine was unable to remove all stack frames running old code from the call stack
- 이클립스 에러
- 숫자 문자열과 영단어
- Organozations
- EC2
- sql developer
- aws#aws기초자격증#EBS#S3#EFS
- gitalb
- 인스턴스 연결
- rds
- 보안그룹
- 완주하지 못한 선수
- list map 차이
- aws#멘땅의헤딩#
- 프리티어
- oracle
- The Network Adapter could not establish the connection
- timed out
- cloudWatch
- Auraro
- 인스턴스 생성
- 인바운드 규칙
- Today
- Total
시작하기, 뭐든
코딩테스트 - 완전탐색 모의고사 : 반복되는 숫자들의 규칙을 찾아야 한다! 본문
시작하기, 뭐든 - 기록 31일차

오늘의 코딩테스트 문제는 완전탐색 문제!
처음 이 문제를 보고 읭??? 1,2,3번의 답을 파라미터값으로 주는게 아니라,,, 모의고사 답만 주네...??에서 1차 멘붕이 왔다ㅎㅎ
(당연히 이 문제는 1,2,3번 답에서 규칙성을 찾는 문제니 당연한 거였는데..)
그래서 피곤하고 자고 싶은 머리를 굴려서...자..찍..찍는 방식 숫자들의 ... 규칙성을 찾아보자.. 했다.
1번은 5로 나누면 나머지 값이 1,2,3,4,5로 계속 반복되는 규칙을 찾았다.
근데 2번부터는 이제 멘탈이 나간거다. 왜?? 나머지 2, 3번은 답을 나눠도 나머지값으로 규칙성을 찾을 수 없었다.
(시작을 매우 잘못했지, 아니 내가 잘못했지 뭐..)
1번 규칙을 찾을 때 값이 아니라 index로 생각을 바꿔봤으면 참~~ 좋았을텐데..
일단! 규칙을 살펴보자.
[1번 아이 찍기 규칙]

1번 아이는 5개씩 끊어가면서 동일한 패턴으로 문제를 찍고 있다.
6번째부터 다시 동일한 5개의 숫자 패턴을 가지고 있다.
index 기준으로는 5로나눈 나머지 값과 동일한 index들은 모두 같은 값을 가지고 있다는 뜻이다.

5로 나눴을 때 나머지 값이 0은 index를 보면 값이 1로 똑같은걸 확인할 수 있다.
다른 나머지 값들도 보면 모두 값이 같다.
나머지 2번, 3번을 보자.
2번, 3번도 반복되는 숫자 패턴의 개수 차이만 있을뿐, 묶음 단위??로 숫자가 반복되고 있음을 알 수 있다.
이 때도 2번은 8로, 3번은 10으로 나눴을 때의 나머지 값이 같은 index들은 같은 값을 가지고 있다.

즉, answer 값을 구하려고 굳이 for문을 돌리지 않고도 반복되는 묶음을 찾고 그 안에 들어있는 개수만 알면 아래처럼 규칙으로 풀어낼 수 있다!
int[] one = {1,2,3,4,5}; //5
int[] two = {2, 1, 2, 3, 2, 4, 2, 5};//8
int[] three = {3, 3, 1, 1, 2, 2, 4, 4, 5, 5};//10
for(int i=0; i<answers.length; i++) {
if(answers[i]==one[i%one.length]) one_answer ++;
if(answers[i]==two[i%two.length]) two_answer ++;
if(answers[i]==three[i%three.length]) three_answer ++;
}
이걸 찾아서 풀어내야 하는 문제였는데..
삽질만 열심히 하다가 오늘도 공부로 넘어가게 되었..
그래도, 어제보단 성장했으리라 위안을 삼으며
오늘도 끝!
'코딩테스트' 카테고리의 다른 글
코딩테스트 - 정렬 "K번째수" 문제로 배우는 Arrays의 copyOfRange API (0) | 2022.01.17 |
---|---|
프로그래머스 - 해시 완주하지 못한 선수 풀이(ArrayList를 이용한 풀이와 HashMap을 이용한 풀이 차이점) (0) | 2022.01.11 |
코딩테스트 뿌시기 4 - 월간 코드 챌린지 시즌3 없는 숫자 더하기 풀이 (0) | 2022.01.10 |
코딩테스트 뿌시기3 - (JAVA)2019 카카오 개발자 겨울 인턴십크레인 인형뽑기 게임 풀이 (0) | 2022.01.08 |
프로그래머스 - 2020 카카오 인턴십 키패드 누르기 해설 및 답안 정리 (0) | 2022.01.06 |