알고리즘 5

[프로그래머스] 구명보트 - 탐욕법(Greedy)

https://school.programmers.co.kr/learn/courses/30/lessons/42885 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 위 문제는 탐욕법으로 해결하였다. 2022.09.20 - [알고리즘] - [알고리즘] 탐욕 알고리즘(Greedy Algorithm) [알고리즘] 탐욕 알고리즘(Greedy Algorithm) 탐욕 알고리즘(Greedy Algorithm) 이란? 탐욕 알고리즘은 선택의 순간마다 최적의 상황만을 쫓아 빠르게 최종 해답에 도달하는 방법이다. 순간마다 하는 선택은 최적이지만, 최종 선택이 최적의 해답 h..

[알고리즘] 탐욕 알고리즘(Greedy Algorithm)

탐욕 알고리즘(Greedy Algorithm) 이란? 탐욕 알고리즘은 선택의 순간마다 최적의 상황만을 쫓아 빠르게 최종 해답에 도달하는 방법이다. 순간마다 하는 선택은 최적이지만, 최종 선택이 최적의 해답이라는 보장은 없다. 탐욕 알고리즘 문제는 아래 순서대로 해결하면 된다. 현재 상태에서의 최적의 해답을 선택한다. 선택된 해가 문제의 조건을 만족하는지 검사한다. 원래의 문제가 해결되었는지 검사하고, 아니라면 1번으로 돌아가 과정을 다시 반복한다. 문제를 탐욕 알고리즘으로 풀기 위한 조건은 아래와 같다. 앞의 선택이 이후의 선택에 영향을 주지 않을때 문제에 대한 최적해가 부분 문제에 대해서도 최적해일 때

알고리즘 2022.09.20

[프로그래머스] 124 나라의 숫자

https://school.programmers.co.kr/learn/courses/30/lessons/12899 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1, 2, 4만을 사용해서 만든 숫자로 변환할 때도 진법 변환할 때 흔히 사용하는 나머지를 이용하면 된다. 1 % 3 = 1 2 % 3 = 2 3 % 3 = 0 package programmerstest.level2; public class Country124 { public static String solution(int n) { String answer = ""; String[] substit..

[프로그래머스] 주식가격

https://school.programmers.co.kr/learn/courses/30/lessons/42584 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이 문제는 지문을 파악하는게 어려웠다. 매 시점의 주식 가격을 비교한다는게 잘 이해가 안됐고, 초 세는 기준도 애매하다고 느꼈다. 초단위 주식 가격이 [1, 2, 3, 2, 3] 이라면 각 초의 주식 가격이 떨어지지 않은 기간은 아래와 같다. 1) 1초 시점 : 1 -> 2 -> 3 -> 2 -> 3까지 모두 비교했는데 1보다 떨어진 초가 없으니 총 4초 2) 2초 시점 : 2 -> 3 -> 2 ..

[프로그래머스] 최솟값 만들기

https://school.programmers.co.kr/learn/courses/30/lessons/12941 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 두 행열에서 추출한 숫자 곱의 누적 합의 최솟값을 구하기 위해서는 가장 큰 값과 가장 작은 값을 곱하면 된다. input으로 받은 두 배열을 각각 정렬 한 후 하나는 순서대로, 다른 하나는 역순으로 서로 곱해서 누적 합을 구한다. package programmerstest.level2; import java.util.Arrays; public class CreateMinimum { public s..