Free Lines Arrow
본문 바로가기
728x90

Algorithm/LeetCode3

[LeetCode] 14. Longest Common Prefix 문제 분석 분석할게 없다 분석할게 있다면 시간복잡도, 메모리 부분일것 같다. 정렬을 할것 인가 안할것인가? 구현 class StringSizeComparator implements Comparator { @Override public int compare(String o1, String o2) { return o1.length() - o2.length(); } } class Solution { public String longestCommonPrefix(String[] strs) { StringBuffer prefix = new StringBuffer(); Arrays.sort(strs,new StringSizeComparator()); String minLengthString = strs[0]; for.. 2022. 4. 30.
[LeetCode] 13.Roman to Integer 문제 분석 주어진 로마문자를 수로 변경해서 더한다. 단 예외가 있다. 아래 처럼 문자가 이루어져 있는 경우는 다음 값을 따른다. - "IV", 4, "IX", 9 - "XL", 40, "XC", 90 - "CD", 400, "CM", 900 좀더 분석을 해보면 - 앞에 놓여진 문자의 값 보다 뒤에 있는 문자의 값이 크면 - IV 인경우 V(뒤에 있는 문자값) - I(앞에 있는 문자값) 이 된다. 구현1 (무식하게 구현해보기) class Solution { private Map numberMap = new HashMap(); private Map complexNumberMap = new HashMap(); private class RomanScore { public StringBuffer s; public.. 2022. 4. 23.
[leetCode] 2. Add Two Numbers 문제 분석 1. 비어져 있는 리스트가 올수 없다. 2. 역순으로 되어 있다. 3. 두개의 수를 더했을때 carry 가 발생할 것을 생각 하여 변수로 둔다. carray + num1 + num2 가 되겠다. 4. 함정 발견 ListNode 로 되어 있기 때문에 Header 를 가르키는 객체를 만들어야 한다. 구현 /** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) { this.val = val; } * ListNode(int val, ListNode next) { this.val = val; this.next = next; }.. 2022. 4. 16.
728x90
반응형