본문 바로가기

SMALL

전체 글

(56)
1월 9일 하루를 온전히 보내진 못해도 블로그로 마무리해야 그래도 후련한 느낌이다. 오늘은 opic 준비를 한 날이라서 스터디를 시작했다. 스터디를 해야 그래도 나만 하는 느낌이 안들어서 강제성때문이라도 더 준비가 잘될것 같다. 오늘 정리하는데 왠지모르게 더 피곤하다. 이렇게 바로 침대에 눕고 싶은 마음이여도 그냥 음악 하나 틀어놓고 하루 마무리하는 습관은 지켜야 유지가 된다. 항상 내가 하는 행위에 대해서 생각해보고 그 행동에 대해서 이유가 정해졌다면 그냥 해보는 것도 좋다. 생각을 많이 할 수록 사람은 합리화를 하게 되고 편하게 행동하도록 유도가 된다. 나도 그런 과오를 범했듯이 내가 정했던 패턴을 지키면서 오늘 하루는 괜찮겠지란 생각은 잠시 뒤로 하고 (어차피 10분 뒤에 다 할 수 있으니깐) 내가 정한 약속..
Union , Find 백준에서 나온 문제 중에서 최소 신장트리를 이용한 문제가 있었다. 해당 알고리즘이 필요하기 위해서 선제적으로 알아야할 개념인 서로소 집합 자료구조에 대해서 알아보고자 한다. 그리디 알고리즘이라고 할 수 있는 Kruscal Algorithm과 Stack, Queue를 활용해야하는 위상정렬 알고리즘이 그래프 알고리즘의 종류이다 우선 Edge와 Node로 이루어져 있는 그래프 데이터들은 다익스트라 알고리즘과 같은 '최단 경로 알고리즘'과 stack과 재귀함수를 사용하여 DFS,BFS 활용할 때 주로 이루었다. 따라서 '서로 다른 객체가 연결되어 있다'는 이야기를 들었다면 반사적으로 그래프 데이터를 활용한 알고리즘이 떠오른다. 메모리 측면에서 인접형렬이 저장한 정보는 많다. 따라서 노드간에 연결되지 않은 정보도..
1월 8일 이틀만이다. 역시 사람은 한 번에 변하긴 쉽지 않다. 그래도 이틀만에 돌아온 것을 다행이라고 여기며 오늘 하루 또한 내가 통제할려한만큼 지냈던것 같다. 작년도 느꼈지만 생각보다 주어진 24시간이란건 정말 사람에 따라 다른 것 같다. 군대에 있을 떈 하루가 느렸지만 현재는 부족해서 48시간으로 주어졌음하는 마음밖에 없다. 아침 기상부터 블로그로 하루 정리하는 것까지 이제 슬슬 익숙하면서도 아직은 의식하면서 하는 중이다. 겨울방학 중에 아침에는 독서와 코테준비, 점심은 졸작, 저녁은 오픽 준비 (이제 시작이지만..ㅎㅎ) 까지 하고 운동하고 블로그 한 번 아무거나 쓰면 하루가 그냥 순식간이다ㅎㅎ 그래도 이제 하루가 볼륨감있게 살고있다는 사실이 뭔가 뿌듯하긴하다 (아직 자격증, 교육 들을거, 뭐 등등 할건 많지..
[1700] 멀티탭 스케줄링 (python) https://www.acmicpc.net/problem/1700 1700번: 멀티탭 스케줄링 기숙사에서 살고 있는 준규는 한 개의 멀티탭을 이용하고 있다. 준규는 키보드, 헤어드라이기, 핸드폰 충전기, 디지털 카메라 충전기 등 여러 개의 전기용품을 사용하면서 어쩔 수 없이 각종 전 www.acmicpc.net 문제에 대한 접근법 문제의 상황에서 볼 때 멀티탭을 꽃을때 최소의 꽃았다 뺐다를 반복하면서 전체 전기용품의 경우를 꽃는 것이다. 다음으로 미루어 봤을 때 경우를 나누어 조건에 맞춰 멀티탭을 꽃으면 된다. 멀티탭이 꽃을려 할 때 가장 먼저 멀티탭이 현재 비어있다면 순차적으로 꽃으면 되는 것이고, 만약 N개의 구멍에서 전부 꽃아져 있다면 다음 꽃을 전기용품이 이미 꽃혀있는지를 전제로 확인해야한다. 위..
1월 6일 24년 첫 토요일의 시작 사실 취준하느라 별 일이 없지만 혼자 도서관과 집에서 보내는 것은 고독함에 익숙해지는 과정이라고 생각한다. 어제부터 다시 운동도 시작하고, 독서도 계속하고 있고, 준비도 하나씩 하고 있는데 역시 사람은 변하기가 쉽지는 않은거 같다. 별거 아닌 습관 들이는것도 의식적으로 할려고하면 아직은 힘이 더 드는 것 같다 그래도 작심삼일의 삼일이 지나고 있다. 작심삼일이 무너저도 다시 3일동안 꾸준히 한다면 그것도 습관이 되리라 믿으면서 나아갈 예정이다. 오늘 30분 늦게 일어났다고 해서 루틴을 버리는 과정은 하루를 버리는 것과 비슷하다고 느끼기에 이번 방학의 활동은 오전,오후를 통제하는 것에 집중하려고 다시 다짐을 하며 운동 끝내고 아무것도 하지 않은 나에게 다시 쓴소리를 속으로 되내이며 ..
[알고리즘] Heap sort (힙정렬) Heap Binary Tree 일종이다. Priority Queue를 위하여 만들어진 데이터구조이다 간단하게 말해서 최대값과 최솟값을 효율적으로 추출할 수 있도록 하는 방법 Max heap 개념 (Min heap은 이와 반대) 1. max heap 삽입 heap에 새로운 element가 들어오면, 새 노드를 heap의 마지막 노드에 이어서 삽입 새로운 노드를 부모 노드들과 교환을 통해서 힙을 정렬 다음의 일련의 과정을 거쳐서 새로운 노드가 8이 들어올 경우 바꿔주며 정렬을 시작한다 2. max heap 삭제 최대 힙에서 최대값은 루트 노드로 이를 삭제한다 삭제된 루트 노드에 마지막 노드를 가져온다 1번에서 나온 방법과 같이 heap을 구성한다 heap sort는 시간복잡도가 상당히 효율적인 편이다. 따라..
1월 5일 아침부터 옷을 입는데 스킨을 깨트리는 바람에 일진이 좋지가 않았다.... 어제 늦게 잔거 치고는 빨리 일어나서 좋았지만 항상 변수는 찾아올 수 있는 법이지 아침 독서를 시작하며 하루를 여니 오전과 오후는 나름 원하는대로 풀려고 하는거 같은 느낌이 든다 방학이라그런지 사람들이 도서관에 오지 않아 나만의 공간과 여유를 찾으며 통제하고 싶은 일을 적절하게 조이며 통제한다고 느끼는데 왠지 모를 성취감이 든다 독서에서 읽은 구문을 하나라도 하루를 보내며 생각하고 적용할려하면 하루를 보내는데 있어 뇌가 계속해서 움직이고 있는 느낌이고 간단하게 이렇게 블로그에 정리를 할 때 쯤이면 하루에 어떤 생각을 했는지 기억이 드문드문 나면서 내일이 기대되고 있다 블로그를 쓰면서 오늘 한 일을 생각하다 보니 저녁을 먹고 유튜브를..
[1715] 카드 정렬하기 (python) https://www.acmicpc.net/problem/1715 1715번: 카드 정렬하기 정렬된 두 묶음의 숫자 카드가 있다고 하자. 각 묶음의 카드의 수를 A, B라 하면 보통 두 묶음을 합쳐서 하나로 만드는 데에는 A+B 번의 비교를 해야 한다. 이를테면, 20장의 숫자 카드 묶음과 30장 www.acmicpc.net 문제에 대한 접근법은 다음과 같이 접근하였다. 1. 주어진 카드 개수를 입력으로 받아 리스트 형식으로 저장한다 2. heapq를 이용하여 리스트 내 최소값을 구하기 쉽도록 만든다. (계산량 효율을 위해서 heapq를 쓴다) 3. 해당 리스트에서 heappop을 통해 가장 작은 2개의 값을 추출하여 first, second에 저장 후 둘을 더한 값을 결과값에 더한 뒤 원래 리스트에 h..