본문 바로가기


전체

MacOS에 Python3 설치하고 command 변경 MacOs : Mojave Mac에는 기본적으로 python 이 깔려 있는데 이게 3 이 아니고 2.7 버전이다. 그래서 3 버전을 사용 하려면 설치가 필요하다. 카산드라 때도 말한적이 있는 거 같은데 맥에서 설치할때 제일 편한건? BREW!!! 설치한다 brew 로 설치한 후에도 계속해서 python version 은 2.7 이다 왜냐하면 mac 에서 기본적인 python은 2.7 고 python3 는 python3 라는 커맨드를 써야한다. 근데 불편하니까 alias 설정을 해놓는다. 이렇게해서 bash_profile 에 접근해서 내용안에 추가해준다. 그러면 안 바뀐다. profile 적용이 안돼서 그렇다. 이렇게 하면 끝~ 끝!
[JAVA] PriorityQueue in Java Priority Queue 는 우선순위 Queue 인 자료구조 이다. 주로 Heap 자료구조를 이용해 구현된다. 우선순위 큐에는 최소 우선순위 큐와 최대 우선순위 큐가 있는데 최소 우선순위 큐는 Heap의 루트(root)가 최솟값가 되도록 생성되고 반대로 최대 우선순위 큐는 최댓값이 되도록 생성된다. 선언 방법 //최소 우선순위 큐 PriorityQueue minHeap = new PriorityQueue(); //최대 우선순위 큐 PriorityQueue maxHeap = new PriorityQueue(Comparator.reverseOrder()); Priority Queue 의 default 가 minHeap 이기 때문에 min 에는 따로 설정할 게 없지만 MaxHeap 으로 할 때는 순서를 반대..
[PS] Meeting Rooms(Medium) solution in JAVA Meeting Rooms2 문제 회의시간이 주어지면 총 사용해야하는 회의실이 최소 몇개인가를 구하는 문제이다. Easy 만큼 쉬운줄알고 정렬하고 그냥 막 풀었다가 아차 싶었다. 처음에 접근한 방법은 Map 에 모든 시간 데이터를 넣고 겹치는 시간을 넣은 List 의 사이즈를 비교하는방법이었는데 아니 무슨 미팅룸 시간이라면서 10만자리 대의 숫자를 input 으로 주길래 시간초과로 실패했다. 리트코드의 단점이 아닐까 input 의 사이즈가 명시되지 않는 문제들이 있는것 PQ 를 쓰면 시간내에 들어올 수 있다. 코드를 보여주고 그림으로 설명하겠다. public Interval[] convert(int[][] arr) { return Arrays.stream(arr) .map(it -> new Interval..
[PS] Meeting Rooms(Easy) Solution in Java Meeting Room 이지 버전 풀이이다. MergeIntervals 풀이를 보고오면 매우 쉽다. public class MeetingRooms { public boolean canAttendMeetings(int[][] intervals) { Arrays.sort(intervals, (o1, o2) -> { return o1[0] == o2[0] ? Integer.compare(o1[1], o2[1]) : Integer.compare(o1[0], o2[0]); }); new ArrayList(); for(int i = 0; i intervals[i + 1][0]) { return false; } } retu..
[Java] Java 에는 pair(c++) 가 외없데? 원래 PS 할 때 쓰던 언어가 C++ 이어서 pair 를 아주 요긴 하게 썼었는데 엄청 쉽게 좌표표현 등을 할 수 있었으니까. vector edge; 이런식으로 말이다. 근데 자바가 주언어가 되고나서도 쭉 C++ 로 문제를 풀어오다가 자바로 언어를 바꿔야겠다고 생각하고 문제를 풀려니까 저 pair 가 너무 쓰고 싶었다. 사실 구현해서 써도 된다. class Pair { Integer key; Integer value; public Pair(Integer key, Integer value) { this.key = key; this.value = value; } public Integer getKey() { return key; } public Integer getValue() { return value; ..
[AdSense] 광고로 부자가 되어보자 tistory 에 Adsense 달기 (No plugIn) 인간은 누구나 부자가 되고싶다. 나 또한 그렇다. 투데이가 바닥을 기는 내 블로그에 광고하나 달았다고 부자가 되진 않지만 부자가 될 가능성이 있는 여러분들을 위해 tistory 에 광고 다는 법을 알려드리겠습니다. 티스토리에서는 AdSense 플러그인을 제공하지만 영.. 잘안먹더라.. 왜지? 아무튼 블로그 여기저기 붙이지 않고 원하는 위치에 붙이고 싶은 사람을 위한 방법이다. 1. 에드센스 신청 https://www.google.co.kr/intl/ko/adsense/start 여기로 들어가서 가입을 하고 어디에 광고를 달고 싶으니 하고 물어보면 내 블로그 url(https://ramees.tistory.com/) 을 주면 코드를 주고 head 사이에 삽입하라고 한다. head 는 어디있냐면 [당신의블로..
[PS] MergeIntervals Solution in Java Leetcode MergeIntervals Solution 문제설명 불규칙하게 들어오는 배열의 범위를 Merge 한 배열을 찾는 것 Input [[1,3],[2,6],[8,10],[15,18]] Output [[1,6],[8,10],[15,18]] Input Output 설명 1,3과 2,6 은 겹치는 구간이 있으므로 merge 된것 코드 public class MergeIntervals { //javaxf Pair doesn't work at leetcode TT class Pair { Integer key; Integer value; public Pair(Integer key, Integer value) { this.key = key; this.value = value; } public Integer..
[Java] 자바로 2차원 배열 2번째 element 까지 정렬하기, Comparator 알고리즘 문제를 풀거나 할 때 코드내에서 배열을 정렬해야 하는 상황이 온다. 자바에서 배열 정렬은 다음과 같이 간단하게 할 수 있다. Arrays.sort(arr) 근데 만약에 저 array가 2차원이라면? exception 이 떨어진다. java.lang.ClassCastException: [I cannot be cast to java.lang.Comparable at java.util.ComparableTimSort.countRunAndMakeAscending(ComparableTimSort.java:320) at java.util.ComparableTimSort.sort(ComparableTimSort.java:188) at java.util.Arrays.sort(Arrays.java:1246) a..