본문 바로가기

전체 글103

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.
WebRTC란? (STUN과 TURN 서버의 이해) (2) 이전 글 복습 중간에 방화벽이 존재하거나 NAT 환경에 놓여 있는 경우에는 각 Peer에 대한 직접적인 시그널링이 불가능하다고 이야기하였다. 그렇기 떄문에 시그널링을 하고 연결을 하기 위해서는 무언가 다른 방법이 필요하다. 이러한 방식을 UDP Hole Punching 방식이라고 하는데 중간에 무언가 중개해줘야할 누군가가 필요하다. 그래서 두가지 방식이 존재한다. 1. STUN 서버 stun 은 Session Traversal Uilities for NAT의 약자이다. 아까 위에서 설명했듯이 NAT환경에서는 Private IP를 별도로 가지고 있기 때문에 Peer to Peer(이하 P2P) 통신이 불가능 하다. 따라서 클라이언트는 자신의 Public IP를 확인하기 위해 STUN 서버로 요청을 보내고 .. 2020. 12. 29.