728x90
728x90

Segment 2

Algorithm] Segment Tree(구간 트리) - 1

알고리즘 문제를 풀면서 접했던 문제 중 하나로 순서가 정해지지 않은(정렬되지 않은) 방대한 데이터를 입력 받아 특정 구간에서의 최솟값을 구하는 문제가 있었다. 하나씩 모두 비교하는 방법을 사용하는 건 구현은 간단하지만, 전체 구간에 대한 최솟값을 구하는 경우 O(N)의 시간 복잡도를 갖게 되고, 거기에 이러한 쿼리가 최대 M회 실시된다고 하면 O(NM)이며, 쿼리가 N에 근접하는 문제의 경우 O(N^2)의 시간 복잡도로 실행 시간 초과가 발생할 수 있다. 구간별 최솟값을 구해두고 쿼리에 대응하는 방법을 고안해도, 최초 구성 단계에서의 시간 복잡도의 문제가 있고, 내용을 바꾸는 쿼리가 존재한다면 재구성하는 과정에서 시간 투자가 필요하기 때문에, 아무래도 기존의 단순 비교 방식을 이용한 구간 내 최솟값 산출..

Arduino] 7세그먼트 사용하기

세그먼트 자체에 대한 이해도 필요했고, 캐소드식과 애노드식에 대한 이해도 필요해서 꽤 오래 걸렸습니다. 어젯밤에 진짜 삽질해가지고, 작동은 커녕 아두이노 기판을 못 쓸 지경으로 만들 뻔했습니다. 회로에 대해서 최소한의 지식이 있다고 생각은 했는데, 정말 만행을 저질러서.. 새벽에 일어나서 회로를 보고 다시 적용해서 작동하는데 성공했습니다. 지금 당장 아두이노를 해보면서 느끼는 건 코딩쪽에서의 애로사항보다는 회로쪽에서 애로사항이 더 많습니다. 최소한의 지식마저도 없이 접근하면 합선이 발생해 기판이 고장나는 것과 같은 문제가 발생하겠구나 싶었습니다. 저도 배우는 입장이라, 직접 해보면서 많이 배웁니다. 기껏해봐야 LED, 부저, 세그먼트, 온도센서 이 네 가지밖에 안 건드렸는데도, 꽤나 배운게 많습니다. 1..

728x90