hoon's bLog

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
반응형