본문 바로가기
반응형

알고리즘10

LeetCode - Remove Duplicates from Sorted Array 문제 링크 : https://leetcode.com/problems/remove-duplicates-from-sorted-array/ 난이도 : Easy 문제 풀이 : 배열안에 존재하는 중복되는 숫자들을 단 한개씩만 남도록 하는 것이 문제의 핵심이다. 정답을 위한 조건으로는 중복을 제거한 숫자들의 갯수가 몇개인지를 반환하고 nums 배열에 순서대로 재정렬 해야한다. 중복을 제거한 숫자들의 갯수는 Set을 이용하여 간단하게 구할 수 있었다. 문제는 nums 배열의 값을 재정렬 해 주는 것이었는데, 이것도 사실 생각해보니 간단했다. 현재 중복되어 변경할 인덱스를 하나 만든다. 그리고 루프를 돌며 numSet에 존재하지 않는 숫자면 numSet에 넣고 nums 배열의 인덱스 위치의 값을 변경해준 후 인덱스를 .. 2020. 8. 2.
LeetCode - Merge Two Sorted Lists 문제 링크 : https://leetcode.com/problems/merge-two-sorted-lists/ 난이도 : Easy 문제 풀이 : 컴퓨터공학 또는 프로그래밍을 공부한 사람이라면 Merge Sort에 대해 알 것이고 굉장히 익숙한 느낌을 받을 것이다. Merge Sort의 한 부분과 동일하기 때문이다. 1. Int Array 두 개를 합치므로 합친 사이즈인 m+n 만큼의 IntArray를 생성한다. 2. 두 개의 Array를 순회하며 작은 것부터 임시 Array에 추가한다. 3. 위 과정을 거치면 둘 중 하나의 Array는 요소들이 남아있게 된다. 남아있는 요소를 임시 Array에 마저 추가한다. 4. nums1 배열에 결과가 담겨 있어야 하므로 임시 Array의 값을 복사해준다. 소스 코드.. 2020. 7. 30.
LeetCode - Top Interview Questions With Kotlin https://leetcode.com/problemset/top-interview-questions/ LeetCode의 Top Interview Question 난이도 별 풀이 언어는 Kotlin 을 사용합니다. Bitbucket : https://bitbucket.org/winan305/leetcode/src/master/ Easy 1. Two Sum (https://doitddo.tistory.com/77) 2. Reverse Integer (https://doitddo.tistory.com/78) 3. Roman To Integer (https://doitddo.tistory.com/79) 4. Longest Common Prefix (https://doitddo.tistory.com/80) 5. .. 2020. 6. 27.
LeetCode - Two Sum 문제 링크 : https://leetcode.com/problems/two-sum/ 난이도 : Easy 문제 풀이 : nums 배열에서 target을 만들 수 있는 두 개의 숫자 조합을 찾아 인덱스를 IntArray로 반환하는 문제이다. 두 숫자를 각각 A, B라 하고 두 숫자를 합쳤을 때 나오는 값을 C라고 하자. 그럼 A+B=C 이다. A를 선택했을 때, C를 만들 수 있는 숫자 B는 C-A로 구할 수 있다. 그렇다면, A를 선택했을 때 나머지 숫자들 중 B가 존재하는지 여부를 알고 그 B의 위치를 알면 답을 구할 수 있다. 두 개의 for-loop을 사용하여 풀 수 있지만, 시간복잡도를 낮추기 위해 HashMap 자료구조를 사용한다. HashMap의 Key에 숫자를, Value에 그 숫자의 위치를 .. 2020. 6. 27.
반응형