프로그래머스9 221114 알고리즘 풀이 문제 프로그래머스 코딩 테스트 난이도 1 - 햄버거 만들기 풀이 과정 어제에 이어서 마저 풀었다. 결국 풀이는 성공하였다. 어제와 마찬가지로 LinkedList에 값을 넣는 방법을 선택하였다. 다만 차이점은 list.add(0);을 해서 리스트가 비어 있을 때 list.getLast()를 해도 에러가 나지 않도록 조절하였다. 구체적인 풀이는 경우의 수를 나누어 생각해 보았다. 리스트에 들어갈 수 있는 값은 1,2,3 이렇게 3가지이고 각각 들어가는 값이 마주칠 getLast()로 나올 수 있는 값은 0,1,2,3 이다. 하나씩 생각해보자. 1은 마지막 값이 0,1,2 일때는 그냥 list.add()로 들어가면 된다. 그런데 마지막 값이 3이면 햄버거 하나가 완성되는 것이므로 굳이 1을 list에 넣지 않.. 2022. 11. 15. 221113 알고리즘 풀이 문제 프로그래머스 코딩 테스트 난이도 1 - 햄버거 만들기 풀이 과정 처음에는 주어진 배열을 리스트로 바꾸고 리스트에서 1,2,3이 순서대로 확인되었을 때 리스트에서 해당 부분을 잘라내고, 결과값에 1을 추가하려 했었다. 하지만 리스트를 잘라내면 다시 앞에서부터 요소들을 하나 하나 찾아봐야 했기에 이 방법은 포기하였다. 그 뒤에 최대한 반복문과 조건문을 적게 돌릴만한 방법을 생각해보았지만, 아무리 해도 조건문을 최소화 할만한 적절한 방법이 떠오르질 않았다. 결국 차선책으로 생각한 방법은 새로운 저장공간을 만들고, 그곳에 매개변수로 받은 배열의 값들을 처음부터 살펴보며 조건이 맞으면 저장공간에 값을 넣는 식으로 해결하는 방법이었다. 새로운 저장공간을 LinkedList로 만들고 리스트에 값을 넣는 조건을 .. 2022. 11. 14. 221112 알고리즘 풀이 문제 프로그래머스 코딩 테스트 난이도 1의 과일 장수, 푸드파이트 대회 코드 과일 장수 import java.util.*; import java.util.stream.Collectors; class Solution { public int solution(int k, int m, int[] score) { int answer = 0; //score 배열을 리스트로 변환 List list = Arrays.stream(score) .boxed() .collect(Collectors.toList()); //박스 내림차순 정렬 Collections.sort(list,Collections.reverseOrder()); //남는 사과 버리기 int rem = list.size()%m; int size = list.s.. 2022. 11. 13. 이전 1 2 다음