알고리즘 풀이 방법입니다.
문제(Problem) -> 생각(Think) -> 해결책(Solution) -> 리뷰(Review) 를 통해서 정리해서 작성합니다.
Problem📄

https://programmers.co.kr/learn/courses/30/lessons/87389

 

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

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

programmers.co.kr

https://programmers.co.kr/learn/courses/30/lessons/12906

 

코딩테스트 연습 - 같은 숫자는 싫어

배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은

programmers.co.kr


Think🤔

1. 나눈 수가 1이 되는 데 제일 작은 것

2. 같은 숫자 나오면 하나만 저장 되게하는 문제

ArrayList 없이 처음에 배열을 생성하려니깐 배열의 크기 값을 모르기 때문에

먼저, 중복된 값이 없는 tmpArr 을 만들고 , 그것을 배열로 옮겨 담아서 리턴해준다.


Solution✍
class Solution {
    public int solution(int n) {
        int answer = n;
        
        for(int i=1; i<=n; i++){
            if(n % i == 1){
                answer = Math.min(answer, i);
            }
        }
        
        return answer;
    }
}
import java.util.*;

public class Solution {
    public int[] solution(int []arr) {
        ArrayList<Integer> tmpArr = new ArrayList();
        
        int saveNum = Integer.MIN_VALUE;
        for(int i=0; i<arr.length; i++){
            if(arr[i] != saveNum){
                saveNum = arr[i];
                tmpArr.add(arr[i]);
            }
        }
        
        int[] answer = new int[tmpArr.size()];
        
        for(int i=0; i<answer.length; i++){
            answer[i] = tmpArr.get(i);
        }
        
        return answer;
    }
}

Review🤩

호오잇!


 

'Algorithm' 카테고리의 다른 글

[프로그래머스] 나누어 떨어지는 숫자 배열  (0) 2022.05.06
[프로그래머스] 완주하지 못한 선수  (0) 2022.03.16
[백준] 추월  (0) 2022.03.08
[백준] 연속부분최대곱  (0) 2022.03.01
[백준] 설탕 배달  (0) 2022.02.28

+ Recent posts