문제풀이64 Leetcode Happy Number JAVA class Solution { public boolean isHappy(int n) { char[] arr = Integer.toString(n).toCharArray(); HashSet set = new HashSet(); String temp; int answer=0; do{ int tempInt=0; for(char item : arr){ tempInt+=Math.pow(Integer.parseInt(Character.toString(item)),2); } temp = Integer.toString(tempInt); arr = temp.toCharArray(); if(set.contains(temp)){ return false; } set.add(temp); if(temp.compareTo("1").. 2021. 1. 4. Leetcode Best Time to Buy and Sell Stock JAVA 이 문제는 언듯 보기에 N^2으로 풀어야 할거 같지만.. 아니다.. 왜냐면 그 상황에서 가장 작은 배열의 요소를 빼주면 되기 떄문이다.(뒷 부분에 더 작은 것이 있다면 그것을 이용한다) 그래서 그 구한 값이 최대가 되는 값을 모든 배열 요소에 대해서 업데이트 해주면 된다. class Solution { public int maxProfit(int[] prices) { int priceMin = Integer.MAX_VALUE; int answerMax = 0; for(int item : prices){ priceMin = Math.min(priceMin,item); answerMax = Math.max(answerMax,item-priceMin); } return answerMax; } } 2021. 1. 4. Leetcode Number of 1 Bits JAVA public class Solution { // you need to treat n as an unsigned value public int hammingWeight(int n) { String number = Integer.toBinaryString(n); int answer = 0; for(int i=0;i 2021. 1. 4. Leetcode Intersection of Two Arrays II JAVA 풀고보니 나만 맵써서 풀었다.. 덕분에 시간복잡도가 올라간듯.. class Solution { public int[] intersect(int[] nums1, int[] nums2) { Map map1 = new HashMap(); Map map2 = new HashMap(); List list = new ArrayList(); for(int i=0;iv+1); map1.putIfAbsent(nums1[i],1); } for(int i=0;iv+1); map2.putIfAbsent(nums2[i].. 2020. 12. 28. 이전 1 ··· 5 6 7 8 9 10 11 ··· 16 다음