본문 바로가기

알고리즘 문제 풀이207

1710. Maximum Units on a Truck 링크 이중 배열 boxTypes에는 길이가 2인 배열이 있습니다. 그 배열에 첫번째 요소는 박스의 개수, 두번째는 들어있는 요소의 개수입니다. [[1,3],[2,2],[3,1]]이면 박스는 1개 박스 1개에 3개씩 박스는 2개 박스 1개에 2개씩 박스는 3개 박스 1개에 1개씩입니다. 접근방법 최대 무게부터 차례대로 최대한 무게를 뽑자. 무게 내림차순으로 정렬해서 [1,3],[2,2],[3,1]로 만듭니다. 최대 뽑을 수 있는 박스 개수는 4개이므로 3kg 1개, 2kg 2개, 1kg 1개 뽑아서 8kg됨. import java.util.Arrays; import java.util.Comparator; class Solution { public int maximumUnits(int[][] boxTypes.. 2021. 6. 23.
(백트래킹) 78. Subsets 링크 배열에 있는 수를 넣었다 뺏다 해서 만들 수 있는 모든 배열을 순서에 상관 없이 반환하시오. 예시 ) [1] -> [],[1] 두개의 배열을 담은 리스트를 반환. 내가 생각한 접근 방법. 매우 비효율적 각 배열의 요소가 있는 경우와 없는 경우 이 두가지의 경우로 계속 반복됩니다. 그러면 0번째 인덱스부터 마지막 인덱스까지 숫자가 있는 배열 addedList, 숫자가 없는 배열 nonAddedList를 만들어 계속 Set에 더해주면(중복을 허락하지 않기 때문에) 답이 되지 않을까 싶어서 짰습니다. import java.util.ArrayList; import java.util.HashSet; import java.util.List; class Solution { List answer; HashSet .. 2021. 6. 17.
1768. Merge Strings Alternately 링크 Merge Strings Alternately - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 번갈아가면서 문자열합치기. [내가 푼 코드] class Solution { public String mergeAlternately(String word1, String word2) { String longerStr = word1.length() > word2.length() ? word1 :word2; String shortStr = longerStr == wo.. 2021. 6. 15.
1051. Height Checker 링크 Height Checker - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 정렬되지 않은 학생들이 있습니다. 학생들을 키순으로 정렬했을 때와 정렬하지 않았을 때를 비교했을 때 잘못 선 학생의 수를 구하시오. [내가 푼 코드] import java.util.Arrays; class Solution { public int heightChecker(int[] heights) { int answer = 0; //줄을 순서대로 서지 않은 학생 배열을 복사한 배열... 2021. 6. 15.
1897. Redistribute Characters to Make All Strings Equal [링크](https://leetcode.com/problems/redistribute-characters-to-make-all-strings-equal/) 각 문자열 배열들의 문자를 옮길 수 있습니다. 문자를 옮겨서 모두 같은 문자열로 바꿀 수 있으면 true 아니면 false를 리턴합니다. "abc","aabc","bc"가 있으면 aabc의 a를 bc의 붙이면 모든 문자열이 abc가 됨. 따라서 true를 리턴. 문제 처음 볼 때 단 한 번만 바꿀 수 있는 걸로 착각해서 문제 못풀었음. 친구랑 풀다가 여러 번 바꿀 수 있단 거 알고 다시 풀었음. [나름대로 다른 방법으로 풀어본 코드] import java.util.*; class Solution { public boolean makeEqual(Stri.. 2021. 6. 14.
완주하지 못한 선수 출처 코딩테스트 연습 - 완주하지 못한 선수 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수 programmers.co.kr 마라톤에 참가한 선수들의 배열이 participant 완주 성공한 사람들의 배열이 completion입니다. 완주하지 못한 사람 1명을 return 하시오. [처음 푼 방법] 참가자들과 완주자들을 정렬합니다. 순서대로 참가자와 완주자들을 비교합니다. 참가자와 완주자가 같지 않은 경우, 그 참가자는 완주하지 못한 선수로 간주하고 값을 리턴합니다. 반복문을 다 돌았는데 같지 않은 경우가 없는 경우, 참가자(participant) 중 마지막 .. 2021. 6. 12.