본문 바로가기

분류 전체보기

(308)
[Embedded Software] Interrupt + 한국항공대학교 최차봉 교수님의 임베디드 SW 과목 내용을 정리한 글입니다. Polling vs Interrupt Polling 이전 실습에서 사용된 방식으로 지정한 구간에서만 이벤트가 발생했는지 체크하는 방식이다. (메인 프로그램 안에서만 체크한다.) => 즉 항상 체크할 수 없으므로, 이벤트가 발생했더라도 확률에 따라 놓칠 수 있다. + 이전 실습에서 잘 작동하지 않았던 이유: Polling방식의 코드 + 스위치 바운싱 Interrupt Polling과 달리 언제나 이벤트가 발생했는지 체크한다. ex) OS에서의 마우스 움직임 Interrupt Setting attachInterrupt(digitalPinToInterrupt(GPIO), function, mode); - attachinterrupt..
[백준/Python] 1018번: 체스판 다시 칠하기 문제 https://www.acmicpc.net/problem/1018 1018번: 체스판 다시 칠하기 첫째 줄에 N과 M이 주어진다. N과 M은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다. www.acmicpc.net 문제 요약 M × N 크기의 보드를 잘라서 8 × 8 크기의 체스판으로 만들어야한다. 체스판은 2가지 종류가 있다. 1. 맨 왼쪽 위 칸이 흰색인 경우 2. 맨 왼쪽 위 칸이 검은색인 경우 M × N 크기의 보드에서 8 × 8 크기를 아무데나 골라서 체스판을 만들 때, 칠해야 하는 정사각형의 최소 개수를 출력한다. 코드 def w_count(i, j): # 맨 왼쪽 위 칸(i, j)이..
[백준/Python] 15970번: 화살표 그리기 문제 https://www.acmicpc.net/problem/15970 15970번: 화살표 그리기 직선 위에 위치를 나타내는 0, 1, 2, ...와 같은 음수가 아닌 정수들이 일정한 간격으로 오른쪽 방향으로 놓여 있다. 이러한 위치들 중 N개의 위치에 하나씩 점들이 주어진다(). 주어진 점들 www.acmicpc.net 문제 요약 수직선 위에 위치를 나타내는 음이 아닌 정수들이 일정한 간격으로 오른쪽 방향으로 놓여 있다. N개의 위치에 하나씩 점들이 주어진다. 각 점들이 가장 가까운 거리의 점에 화살표로 연결된다고 할 때, 각 점들의 화살표 길이의 합을 출력한다. + 가작 가까운 거리가 두 개 이상이라면 아무거나 하나를 선택한다. 코드 N = int(input()) arr = [[] for _ in..
[Algorithm] 정렬: 버킷 정렬, 기수 정렬 + 항공대학교 이인복 교수님의 알고리즘 해석 및 설계 과목 내용를 정리한 글입니다. 비교에 기반한 정렬의 시간 복잡도 한계 => 두 원소의 비교에 기반한 정렬 알고리즘은 Θ(nlogn)보다 빠르게 동작할 수 없다. 버킷 정렬 (Bucket sort) 정렬될 데이터가 자릿수라는 개념이 있다면 이를 이용한다. ex) 정렬될 데이터가 택배 주소라면, 전체를 다 보지 않고 처음 위치를 보고 데이터를 분류할 수 있다. 분류한 데이터를 각각 정렬하고, 이를 이으면 정렬이 완성된다. - c개의 버킷으로 모든 원소가 균등하게 배분되어 각각 n / c개가 들어갔을 경우 => n / c개를 Θ((n/c) log (n/c)) 시간에 정렬할 수 있고, 이를 다시 합치면 => c(n/c) log(n/c)..
[Algorithm] 정렬: 힙 정렬 + 항공대학교 이인복 교수님의 알고리즘 해석 및 설계 과목 내용를 정리한 글입니다. 힙 정렬 (Heapsort) 버블 정렬과 비슷하게 1등을 뽑아내고, 나머지 원소에서 1등을 계속 뽑아내면서 정렬한다. 버블 정렬: 남은 원소에서 1등을 다시 비교를 통해서 찾는다. 힙 정렬: 힙을 이용하면, 1등을 뽑아낸 뒤 나머지 원소에서 1등을 뽑을 때, 다시 비교할 필요 없이 2등이 자동으로 1등이 된다. => 힙 생성 -> 루트 원소 제거 -> 힙을 유지 힙 (Heap) - 완전 이진 트리이다. + 원소가 n개인 힙의 모양은 1개이다. (높이는 logn) 최대 힙: 부모 노드의 키 값이 자식 노드보다 크거나 같은 완전 이진 트리 최소 힙: 부모 노드의 키 값이 자식 노드보다 작거나 같은..
[백준/Python] 26091번: 현대모비스 소프트웨어 아카데미 문제 https://www.acmicpc.net/problem/26091 26091번: 현대모비스 소프트웨어 아카데미 첫째 줄에 견학을 희망하는 학회원의 수 $N$과 견학하는 팀의 최소 능력치를 나타내는 정수 $M$이 공백으로 구분되어 주어진다. ($1 \le N \le 100\,000$, $1 \le M \le 10^9$) 둘째 줄에 학회원 $N$명의 능력치 www.acmicpc.net 문제 요약 현대모비스에서 소프트웨어 아카데미 견학생 팀을 모집한다. 조건 1. 팀원이 두명이다.조건 2. 팀의 능력치가 M이상이다. 팀의 능력치는 모든 팀원의 능력치를 합한 값이다. N명의 학회원들 중 견학을 보낼 수 있는 최대 팀 수를 출력한다. 코드 N, M = map(int, input().split()) arr ..