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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr


ArrayList를 이용하여 유동적인 사이즈를 설정하였다.

import java.util.*;

public class Solution {
    public int[] solution(int []arr) {
        ArrayList<Integer> aa = new ArrayList<>();
        aa.add(arr[0]);
        for(int i=1;i<arr.length;i++){
            if(arr[i]==aa.get(aa.size()-1))
                continue;
            aa.add(arr[i]);
        }
        
       int[] ans = new int[aa.size()];
        for(int i=0;i<aa.size();i++)
            ans[i]=aa.get(i);

        return ans;
    }
}

https://school.programmers.co.kr/learn/courses/30/lessons/133024

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr


정렬은 order by

내림차순 desc

오름차순 asc

SELECT flavor from first_half order by total_order desc,shipment_id asc;

https://school.programmers.co.kr/learn/courses/30/lessons/12940

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr


최대공약수는 유클리드 호제법을 이용하면 편리하게 구할 수 있다.

유클리드 호제법이란?

https://ko.wikipedia.org/wiki/%EC%9C%A0%ED%81%B4%EB%A6%AC%EB%93%9C_%ED%98%B8%EC%A0%9C%EB%B2%95

 

유클리드 호제법 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 유클리드 호제법(-互除法, Euclidean algorithm) 또는 유클리드 알고리즘은 2개의 자연수 또는 정식(整式)의 최대공약수를 구하는 알고리즘의 하나이다. 호제법이란

ko.wikipedia.org

최소공배수는 최대공약수가 가지지 않았던 모든 약수를 곱해주면 되므로

둘을 곱하고 약수로 나누어주면 된다.

 

- Java

class Solution {
    public int[] solution(int n, int m) {
        int[] answer = new int[2];
        answer[0]=gcd(Math.max(n,m),Math.min(n,m));
        answer[1]=(int)n*m/answer[0];
        return answer;
    }
    static int gcd(int a, int b){
        while(a!=0){
            a=a%b;
            if(a==0) return b;
            int c = a;
            a=b;
            b=c;
        }
        return -1;
    }
}

 

- Ruby

def solution(n, m)
    answer = []
    answer.append(gcd(n,m))
    answer.append(n*m/answer[0])
    return answer
end

def gcd(a,b)
    if a<b
        a,b=b,a
    end
    while a!=0
        a=a%b
        if a==0
            return b
        end
        a,b=b,a
    end
end

+ Recent posts