오늘은 프로그래머스 선수라는 문제에 대해서 풀어보았다!!
그래프 문제를 풀면서 항상 끙끙거리고 힘들어 했던 기억이 있다. 지금도 그렇다 ㅋ
그래프 문제들을 전혀 감을 잡지 못하면서 해당 부분을 어떻게하면 좋을지 오늘 스터디시간에 여쭤보았다.
하나 더 있긴한데 요렇게 네 가지만 중점적으로 공부하면 될 것 같다고 하셨따!
그래프는 눈에 보이는 그래프도 있지만 특별히!!!
문제를 잘 읽어보면
간선이 있고 방향이있고 거기에 가중치가 있는 경우
노드들이 있고 그걸 연결하는 경우
이런 경우도 모두 그래프이다.
문제가 그래프라는 것을 알게되면 그래프 알고리즘을 선택하게되고 문제가 쉽게 풀릴 수도 있다. 이 점을 명심하자
String s= "110101"
Integer.parseInt(s, 2);
Integer.parseInt(s,16);
물론 16진수로 변경하는 것도 가능하다.
Integer.toString(n,2); //짱쉬웁
이렇게 편한 방법으로 바꿀 수 있다.
배열로 꾸역꾸역 지우지 않아도 된다.
Set을 이용해서 합집합, 차집합을 만들 수 있다. 차집합, 합집합이 필요한 경우를 문제에서 보고 잘 생각해보고 사용하도록 하자
오늘은 기본적인 문제를 복습해봤는데 의외로 나쁘지 않게 한 것 같다.
다양한 자료구조를 사용하도록 좀 바뀐듯 하다.
문제를 보고 다양한 방법을 사용하도록 시도하고 있다.
중복을 제거해야 할 것 같은데 Set써볼까?... 아 근데 자리는 지켜야하네... Map써볼까?... 근데 이것도 안되네... 그럼 입력 순서가 유지되는 Set써볼까? 아 근데 그럼 중복되는게 있으면 자리가 바뀌니까 자리를 유지하는 LinkedMap을 써볼까?... 하는 식으로 다양하게 쓰려고 한다.
참고로 Stack, dequeue, queue도 있지만 내가 오늘 풀어본 문제에서는 Stack말고는 딱히 쓸일이 없었다.
잊지말자!
복습할 문제도 너무너무 많다.
강의를 들으면서 알게된 문제라던가... 내가 앞으로 풀어야 할 수 많은 문제라던가... 열심히 풀고 노력하면 시간도 줄이고 많이 풀 수 있게되곘지?
꼭 2개월 이내로 코테를 마스터하자! 얼마 남지 않았다!
#99클럽 #코딩테스트준비 #개발자취업 #항해99 #TIL