본문 바로가기

Algorithm/Programmers33

[Programmers/Lv.3] 야근 지수 - Java 알고리즘 문제 풀이 / 프로그래머스 (programmers) - 야근 지수 ▏문제 설명 회사원 Demi는 가끔은 야근을 하는데요, 야근을 하면 야근 피로도가 쌓입니다. 야근 피로도는 야근을 시작한 시점에서 남은 일의 작업량을 제곱하여 더한 값입니다. Demi는 N시간 동안 야근 피로도를 최소화하도록 일할 겁니다.Demi가 1시간 동안 작업량 1만큼을 처리할 수 있다고 할 때, 퇴근까지 남은 N 시간과 각 일에 대한 작업량 works에 대해 야근 피로도를 최소화한 값을 리턴하는 함수 solution을 완성해주세요. 제한사항 ◦ works는 길이 1 이상, 20,000 이하인 배열 ◦ works의 원소는 50000 이하인 자연수 ◦ n은 1,000,000 이하인 자연수 ▏문제 풀이 추후에 설명 작성하겠습니다.. 2022. 12. 23.
[Programmers/Lv.3] 최고의 집합 - Java 알고리즘 문제 풀이 / 프로그래머스 (programmers) - 최고의 집합 ▏시작하는 말 오래간만에 프로그래머스 문제를 풀어봤다. 이번 문제는 LV3 단계인게 믿기지 않을만큼 쉽게 풀 수 있었다. 이 문제의 원리만 파악한다면 누구든 쉽게 풀 수 있으리라 생각한다. ▏문제 설명 자연수 n 개로 이루어진 집합 중 다음 두 조건을 만족하는 집합을 최고의 집합이라고 정의한다. 1. 각 원소의 합이 S가 되는 수의 집합 2. 위 조건을 만족하면서 각 원소의 곱이 최대가 되는 집합 n=2, s=9 일 때를 예를 들자면, 조건 1을 만족하는 집합은 { 1, 8 }, { 2, 7 }, { 3, 6 }, { 4, 5 }이다. 조건 1을 만족하며 조건 2를 만족하는 집합은 { 4, 5 }가 된다. 제한사항 ◦ 집합은 오.. 2022. 12. 8.
[programmers/Lv3] 브라이언의 고민 - Java 알고리즘 문제 풀이 / 프로그래머스 (programmers) - 브라이언의 고민 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/1830 코딩테스트 연습 - 브라이언의 고민 programmers.co.kr 문제 풀이 public class Brianstrouble { String answer; boolean checkRule1 = true; boolean checkRule2 = true; Map lowerMap; public String solution(String sentence) { answer = ""; lowerMap = new HashMap(); // 변형된 문자열은 공백 X야함. 근데 있을 경우 invalid if(sentence.conta.. 2022. 6. 20.
[Programmers/Lv2] 더 맵게 알고리즘 문제 풀이 / 프로그래머스 (programmers) - 더 맵게 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/42626 코딩테스트 연습 - 더 맵게 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같 programmers.co.kr 문제 풀이 '우선순위 큐' 를 이용한다. K이상이 안된다면 -1을 아니면 answer을 출력한다. 이 문제를 보자마자 queue로 풀면 좋겠다는 생각을 했다. 우선순위 큐로 푼다면 poll() 할 때 마다 제일 작은 스코빌 지수가 나올테니 그렇게 꺼낸 값을 계산해서 .. 2021. 10. 5.
[Programmers/위클리 챌린지] 1주차_부족한 금액 계산하기 - Java 알고리즘 문제 풀이 / 프로그래머스 (programmers) - 1주차_부족한 금액 계산하기 프로그래머스 사이트를 구경하다 위클리 챌린지가 생긴 것을 보고 풀어봐야겠다고 생각했다. 난 이제 봤는데 벌써 많이 나와있어서 놀랐다. 나도 빨리 풀어나가야겠단 생각을 했다. 그래서 오늘 바로 1주 차 문제를 풀어봤고 지금 그 설명을 해보려고 한다. 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/82612 코딩테스트 연습 - 1주차_부족한 금액 계산하기 새로 생긴 놀이기구는 인기가 매우 많아 줄이 끊이질 않습니다. 이 놀이기구의 원래 이용료는 price원 인데, 놀이기구를 N 번 째 이용한다면 원래 이용료의 N배를 받기로 하였습니다. 즉, 처음 이 progra.. 2021. 9. 9.
[Programmers/2018 KAKAO BLIND RECRUITMENT] 캐시 - Java 알고리즘 문제 풀이 / 프로그래머스 (programmers) - 캐시 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/17680 cacheSize) { cache.removeFirst(); } } return answer; } 2021. 8. 19.
[Programmers/Lv2) 구명보트 - Java 알고리즘 문제 풀이 / 프로그래머스 (programmers) - 구명보트 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/42885 코딩테스트 연습 - 구명보트 무인도에 갇힌 사람들을 구명보트를 이용하여 구출하려고 합니다. 구명보트는 작아서 한 번에 최대 2명씩 밖에 탈 수 없고, 무게 제한도 있습니다. 예를 들어, 사람들의 몸무게가 [70kg, 50kg, 80kg, 5 programmers.co.kr 문제 풀이 배열 people을 정렬시킨다. hap 이 limit을 넘어간다면 i-- 해준다. 마지막 남은 값이 하나라면 answer++ 구명보트를 최대한 적게 사용해야 하므로 가장 무거운 사람부터 고려하면 되는 문제이므로 바로 오름차순 정렬을 했다. 내.. 2021. 8. 10.
[Programmers/Summer,Winter Coding(2018)] 방문 길이 - Java 알고리즘 문제 풀이 / 프로그래머스 (programmers) - 방문 길이 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/49994 코딩테스트 연습 - 방문 길이 programmers.co.kr 문제 풀이 Math.abs()를 사용하여 좌표평면 안에 값을 체크한다. x좌표, y좌표를 각각 계산한다. 한 번 지나간 길을 list에 저장한다. 이번 문제는 어떻게 풀어야 할까 생각을 오래 했었다. 머릿속에서 생각을 해보았을 때 조건문을 너무 많이 사용해야 할 것 같아서 계속 고민을 했던 것이었는데 다른 방법이 생각나지 않아 결국 그냥 풀었다. 나중에 시간이 여유로울 때 다시 한번 고민해보고 싶어서 풀고 난 후 에도 다른 사람의 풀이는 보지 않았다. 나중에.. 2021. 8. 9.
[Programmers/Lv2] 땅따먹기 - Java 알고리즘 문제 풀이 / 프로그래머스 (programmers) - 땅따먹기 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/12913 코딩테스트 연습 - 땅따먹기 땅따먹기 게임을 하려고 합니다. 땅따먹기 게임의 땅(land)은 총 N행 4열로 이루어져 있고, 모든 칸에는 점수가 쓰여 있습니다. 1행부터 땅을 밟으며 한 행씩 내려올 때, 각 행의 4칸 중 한 칸만 밟 programmers.co.kr 문제 풀이 public static int solution(int[][] land) { int answer = 0; int k = land.length; for(int i = 0; i < k-1; i++) { land[i+1][0] += max(land[i][.. 2021. 8. 6.
반응형