hoon DevLog

Java 프로그래머스 나머지가 1이 되는 수 찾기 자바 본문

코딩테스트/프로그래머스

Java 프로그래머스 나머지가 1이 되는 수 찾기 자바

개발한기발자 2022. 6. 13. 20:03
반응형

문제출처 : https://programmers.co.kr/learn/courses/30/lessons/87389

 

코딩테스트 연습 - 나머지가 1이 되는 수 찾기

자연수 n이 매개변수로 주어집니다. n을 x로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수 x를 return 하도록 solution 함수를 완성해주세요. 답이 항상 존재함은 증명될 수 있습니다. 제한사항 입

programmers.co.kr


[나의 풀이]

- for문의 조건과 별도로 조정할 수 있는 인덱스 idx변수를 선언하여 활용


  
class Solution {
public int solution(int n) {
int answer = 0;
int idx = 0;
int[] arr = new int[n];
for(int i=1; i<n ;i++){
if(n%i == 1){
arr[idx] = i;
idx++;
}
}
answer = arr[0];
return answer;
}
}

간만에 나름 간결하게?! 짯다고 생각했는데

과연 이번에도 신기한 풀이들이 있을지!?!?!?

 

[다른사람의 풀이]


  
class Solution {
public int solution(int n) {
//IntStream의 range로 범위 설정 후, filter 함수로 나머지가 1인 값들을 뽑아 반환, 아니면 0
return IntStream.range(2, n).filter(i -> n % i == 1).findFirst().orElse(0);
}
}
class Solution {
public int solution(int n) {
int answer = 0;
for(int i = 2; i <= 1000000; i++) {
if(n % i == 1) return i;
}
return answer;
}
}

 

[정리]

- 배열 왜 만듦? 찾자마자 바로 리턴하면 되는데?

- 응~Stream으론 다 한 줄 컷이야~~

 

개인피셜 난이도 : ★☆☆☆☆

배열을 쓰지 않아도 될 부분에

꼭 배열을 써서 반복문을 돌리고야마는 나....

복붙식 코딩으로 3년이란 경력을 채워가는 나는 아직도 갈길이 멀다...

 

끝:(

728x90
반응형