본문 바로가기
플레이데이터 sw 캠프 3기/기억더듬더듬 하루 회고록

[12.12 화] 아빠 친구가 왔다

by 눕는게최고야 2023. 12. 12.

블로그를 쓰는데 아부지 친구가 왔습니다.. 아 

 

아부지 친구한테 이게 무슨 말버릇이냐고요? 아부지 친구가 사실 제 친한 친구입니다. 어쩌다 제 친한 친구가 아부지 친구가 되었을까요.

 

오늘은 아버지의 초대로 온거니까 아부지 친구라고 하는 게 맞겠죠.. 전 진짜 몰랐습니다.

 

그 사연에 대해 말하고 싶지만 거실에 제 친구..아니 아부지 친구가 있어서 집중하기가 힘들군요. 이 헛소리를 쓰는 것도 사실 엄청난 집중력이 필요하다는 사실. 

 

오늘의 이슈

- 밥 두공기 먹으면 졸리다는 사실

 

-하지만 한 그릇 먹을 수는 없는걸

오늘 한 것

 

- List를 정렬하는 법

 1) Collections.sort 를 이용

      Collections.sort(myList);  // Collections.sort(myList,Comparator.reversOrder());

 2) List의 내장 함수를 사용

      myList.sort(Comparator.naturalOrder()); // myList.sort(Comparator.reverseOrder());

 

- List > arry 

1) for 문으로 하나씩 넣어주기

2) Stream API를 사용 (기억... 해보자..?)

String[ ] arr = strinList.stream().toArray(a -> new String[a]);

int[ ] int_arr = intList.stream().mapToInt(Integer::intValue).toArray();

 

* Comparator과 비슷한 Comparable을 주로 알고리즘 문제풀이에 사용하는데 Override하는 compareTo의 리턴값에 따라 오름 차순이 되는지 내림차순인지 맨날 헷갈려서 정리해 보았다.

class Node implements Comparable<Node>{
	int x;
    int y;
    int cout;
    Node(
    ..
    ..
    )
    ..
    ..
    ..
    @Override
    public int comparrTo(Node o){
    	// this.count가 o.count보다 작을떄 음수리턴
        // 현재 객체가 매개변수로 전달된 객체보다 앞에 위치하도록함
        // 오름차순 정렬
    	return this.count - o.cout;
        
        // 반대겠지
        return o.count - this.count;
    }
}

 

-map

key와 value로 구성. key를 해시함수를 통해 메모리의 주소로 변환하여 감색이 O(1)이다.

(Array와 List는 O(n), 정렬 후 이진탐색 O(log n) ) 

HashMap(순서 x), TreeMap(데이터를 정렬해서 넣는다), LinkedHashMap(넣는 순서는 보장)

 

getOrDefault (알고리즘 문제에 종종 사용) 

 

Map의 key 순회

1) for(Object o : map.keySet())

 

2) Iterator it = map.keySet(). Iterator();

    while(it.hasNext())

    .....