목록2021/06 (14)
잡다한 IT 지식
링크 배열에 있는 수를 넣었다 뺏다 해서 만들 수 있는 모든 배열을 순서에 상관 없이 반환하시오. 예시 ) [1] -> [],[1] 두개의 배열을 담은 리스트를 반환. 내가 생각한 접근 방법. 매우 비효율적 각 배열의 요소가 있는 경우와 없는 경우 이 두가지의 경우로 계속 반복됩니다. 그러면 0번째 인덱스부터 마지막 인덱스까지 숫자가 있는 배열 addedList, 숫자가 없는 배열 nonAddedList를 만들어 계속 Set에 더해주면(중복을 허락하지 않기 때문에) 답이 되지 않을까 싶어서 짰습니다. import java.util.ArrayList; import java.util.HashSet; import java.util.List; class Solution { List answer; HashSet ..
링크 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..
링크 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; //줄을 순서대로 서지 않은 학생 배열을 복사한 배열...
[링크](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..
출처 코딩테스트 연습 - 완주하지 못한 선수 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수 programmers.co.kr 마라톤에 참가한 선수들의 배열이 participant 완주 성공한 사람들의 배열이 completion입니다. 완주하지 못한 사람 1명을 return 하시오. [처음 푼 방법] 참가자들과 완주자들을 정렬합니다. 순서대로 참가자와 완주자들을 비교합니다. 참가자와 완주자가 같지 않은 경우, 그 참가자는 완주하지 못한 선수로 간주하고 값을 리턴합니다. 반복문을 다 돌았는데 같지 않은 경우가 없는 경우, 참가자(participant) 중 마지막 ..
candies 각 배열의 요소에 extraCandy를 더했을 때 그 값이 candies 수 중의 최대 값이 되면 true 아니면 false입니다. [처음 푼 방법] ''' java import java.util.ArrayList; import java.util.List; class Solution { public static List kidsWithCandies(int[] candies, int extraCandies) { List answer = new ArrayList(candies.length); int maxCandyCnt = 0; for (int candy : candies) { if (candy > maxCandyCnt) { maxCandyCnt = candy; } } f..