공부/Algorithm4 정렬] Find the Difference LeetCode의 Easy 단계 문제를 풀어보았다. Find the Difference 문제다. 내 풀이[1][2]는 하단과 같았고, 개선사항[3]을 생각해보기 위해 실행 결과 남긴다. class Solution { public char findTheDifference(String s, String t) { char alphabet = t.charAt(0); // initialization String rep; for (int i = 0, strLen = s.length(); i < strLen; i++) { alphabet = s.charAt(i); rep = remove(alphabet, t); if (rep.length() == 1) { alphabet = rep.charAt(0); break; }.. 2021. 8. 17. 정렬] Contains Duplicate LeetCode의 Easy 단계 문제를 풀어보았다. Contains Duplicate 문제다. 내 풀이는 하단과 같았고, 개선사항을 생각해보기 위해 실행 결과를 남긴다. class Solution { public boolean containsDuplicate(int[] nums) { HashSet nSet = new HashSet(); for (int num : nums) { if (nSet.contains(num)) { return true; } nSet.add(num); } return false; } } 2021. 8. 12. 정렬] Merge Sorted Array LeetCode의 Easy 단계 문제를 풀어보았다. Merge Sorted Array 문제다. 내 풀이는 하단과 같았고, 개선사항을 생각해보기 위해 실행 결과를 남긴다. class Solution { public void merge(int[] nums1, int m, int[] nums2, int n) { // merge two array for (int i = 0, arrLen = nums1.length; i m - 1) { nums1[i] = nums2[i - m]; } } // sort Arrays.sort(nums1); } } 2021. 8. 12. 정렬] K번째 수 꼭 이직이 아니더라도 개발자로서 좀 더 가독성 있고, 깔끔한 코드를 작성하기 위해 알고리즘 문제를 하나씩 풀어보려고 합니다. 현재 제 주 언어인 자바 언어로 풀어보며 코드 레벨에서 어떻게 하면 더 깔끔한 코드를 작성할 수 있을지 고민하고, 통과가 되었더라도 계속 개선해나갈 생각입니다. 문제는 프로그래머스에 있는 K번째 수[1]입니다. _____ 문제를 풀면서 고민한 지점은 특정 범위의 배열을 복사[2]하기 위해 어떤 API를 사용해야 하는지였다. 검색을 통해 Arrays 클래스의 copyOfRange(...) 메소드를 사용해야겠다고 생각했고, 테스트 케이스에서 두 번째 예인 [4, 4, 1]처럼 첫 번째 인덱스와 마지막 인덱스가 같은 경우 따로 구분해야 한다고 생각해서 아래와 같이 분기해주었다(으나 다른.. 2021. 4. 19. 이전 1 다음