diff --git a/longest-palindromic-substring/kimjunyoung90.java b/longest-palindromic-substring/kimjunyoung90.java new file mode 100644 index 0000000000..9288714490 --- /dev/null +++ b/longest-palindromic-substring/kimjunyoung90.java @@ -0,0 +1,24 @@ +/** + * 시간복잡도 : O(n) + * 공간복잡도 : O(n) + */ +public class kimjunyoung90 { + public boolean isPalindrome(String s) { + //1. 대문자를 소문자로 변환 + s = s.toLowerCase(); + + //2. 영어 숫자 외 문자 제거 + s = s.replaceAll("[^a-z0-9]", ""); + + //3. 앞에서 읽나 뒤에서 읽나 동일한지 확인(pointer 사용) + int left = 0, right = s.length() - 1; + while(left < right) { + char leftChar = s.charAt(left); + char rightChar = s.charAt(right); + if(leftChar != rightChar) return false; + left++; + right--; + } + return true; + } +} diff --git a/maximum-subarray/kimjunyoung90.java b/maximum-subarray/kimjunyoung90.java new file mode 100644 index 0000000000..cb337628f9 --- /dev/null +++ b/maximum-subarray/kimjunyoung90.java @@ -0,0 +1,15 @@ +public class Solution { + public int maxSubArray(int[] nums) { + int max = Integer.MIN_VALUE; + for(int i = 0; i < nums.length; i++) { + for (int j = i; j < nums.length; j++) { + int sum = 0; + for(int k = i; k <= j; k++) { + sum+= nums[k]; + } + max = Math.max(max, sum); + } + } + return max; + } +}