해쉬
-
해쉬_Programmgers_베스트앨범 [swift]알고리즘/알고리즘 문제풀이 2024. 8. 22. 21:31
https://school.programmers.co.kr/learn/courses/30/lessons/42579?language=swift 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 요구사항장르의 재생 수 순위장르 내 노래의 재생 수 순위장르 순위 순서로 장르 내 노래 순위 순서로 2개를 뽑음.노래의 plays가 같다면 id로 정렬노래가 2개니까 비교가 쉽다.. 코드 중 appendee의 sorted 구문은 plays비교조건만 있을 때에도 채점 시 전부 정답이 되었다.생각해보면, id 순서대로 dic 내 Array에 추가되고, 정렬 시, 큰 elemen..
-
hash,string,sort_LeetCode_49.GroupAnangram swift알고리즘/알고리즘 문제풀이 2022. 2. 21. 17:23
https://leetcode.com/problems/group-anagrams/ 문제 접근 주어진 [String]매개변수를 sorted(by: >) 하여 stack에 할당 !stack.isEmpty인 동안 while문 반복 stack의 한 요소를 비교할 대상으로 선택, 해당 요소와 크기가 같은 비교군을 생성 처음 선택한 요소의 알파벳을 순차적으로 비교군에서 삭제, 결과적으로 ""가 된 idx를 얻게 됨 idx를 사용하여 subSol:[String]에 appned하여 anagram집합을 구함. 5의 결과물을 ans: [[String]]에 append하여 최종 Return값을 준비. 5에서 사용된 요소들을 stack에서 삭제. 위의 내용을 반복하여 최종 return 수행 오답 코드 문제점: 매개변수 str..
-
해쉬_Leetcode_rabbits-in-forest알고리즘/알고리즘 문제풀이 2021. 8. 25. 14:35
https://leetcode.com/problems/rabbits-in-forest/submissions/ Rabbits in Forest - 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 접근 방법 1. answers의 각 요소를 key로 사용하여, 각 요소가 몇 개 있는지 dict에 저장. 2. dict의 요소를 순회하며, 로직 수행. 3. key는 자신 외에 같은 색의 토끼가 몇 마리 있는지 이므로, + 1 하여 dict.key와 비교. 4. .key +..
-
해쉬_LeetCode_top-k-frequent-elements알고리즘/알고리즘 문제풀이 2021. 8. 11. 17:13
https://leetcode.com/problems/top-k-frequent-elements/submissions/ Top K Frequent Elements - 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 문제 접근 문제 : 설명이 적어서 처음엔 이해가 어려웠다. nums의 숫자들의 중복 횟수를 집계하여, k번째 순위까지 arr로 반환하는 것이다. ( 순위무관 ) 접근 : 1. nums의 elements에 각각 접근하여, dict[element] = 접근..
-
해쉬_LeetCode_Group-Anagrams알고리즘/알고리즘 문제풀이 2021. 7. 26. 16:32
https://leetcode.com/problems/group-anagrams/submissions/ 문제 접근 입력 strs을 아나그램 된 원소끼리 [String]으로 묶고, 이를 다시 [[String]]의 형태로 반환한다. 이 때, 아나그램된 원소들을 어떻게 분리 할 것인가? 에 대한 답으로 Dictionary을 택했다. anagram된 strs중 한 원소를 철자단위로 분리해서 set에 넣어서 Key로 사용하려 했다. 이는 결론적으로 실패한 접근. 입력 strs: ["ddddg","dgggg"]를 구분 할 수 없었다. 이를 극복하기 위해 각 원소를 sort하여 key로 사용한다. 실패 코드 더보기 class Anagrams { func groupAnagrams(_ strs: [String]) -> ..
-
해쉬_LeetCode_RomanToInteger알고리즘/알고리즘 문제풀이 2021. 7. 20. 16:37
https://leetcode.com/problems/roman-to-integer/submissions/ Roman to Integer - 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 착안 문제를 보고, string을 한 글자씩 분리하여 case로 나누어 풀이해야겠다고 생각. 1. input string을 분리 2. enum으로 변환 3. 문제 로직에 맞게 풀이 코드 초창기 코드 더보기 class Solution { func romanToInt(_ s: St..