- MUX
- LED
- atmega 128a
- verilog
- ATMEGA128A
- Set
- 4bit parallel adder
- java
- structure
- structural modeling
- ctc mode
- Algorithm
- interrupt
- behavior modeling
- interface
- timer / counter
- behavioral modeling
- Recursion
- gpio
- Linked List
- 8bit timer/counter
- normal mode
- Method
- atmega 128
- half adder
- fast pwm mode
- full adder
- sequential logic circuit
- Comparator
- dataflow modeling
목록Algorithm (37)
거북이처럼 천천히
1. 문제학생의 수를 입력 받은 뒤, 학생 수 만큼 국어, 영어, 수학 점수를 입력해 총점, 평균, 학점을 구하고 총점 순으로 정렬해 출력합니다. 학점은 평균이 90점이상이면 A, 80점 이상이면 B, 70점 이상이면 C, 그 외는 F로 평가합니다. 2. 생각학생의 점수들과 총점, 평균, 학점을 저장해야 하기 때문에 구조체를 사용한다.학생의 수를 입력 받은 뒤, 이를 malloc 함수를 이용하여 학생의 수만큼 동적할당 받는다.Quick Sort 알고리즘을 통해 정렬한다.Padding byte를 고려하여 Padding byte가 최소화 되도록 구조체의 맴버들의 위치를 설정한다. 3. 풀이 및 코드 분석#include #include // Structure typedef struct { unsigne..
1. 문제문제 제목 : 동적 할당을 통해 문자열을 저장 및 출력 2. 생각2.1) 정적 메모리 할당의 한계 및 문제위 예시를 통해 알 수 있듯이 Compile 시점에서 얼마만큼의 문자열과 어느 정도의 길이를 갖는 문자열이 들어올지 모르기 때문에 정적인 메모리 할당을 통해 미리 메모리 공간을 확보하기 힘들다.또한 여유있게 정적 메모리 공간 할당을 받으면 실제로 사용하지 않는 메모리 공간이 발생하여 메모리 자원 낭비가 발생한다. 2.2) 동적 메모리 할당시 주의점동적 메모리 할당을 받으면 2차원 형태로 받아야 할 것이기 때문에 동적 메모리 할당은 포인터 배열 형태를 갖는다.포인터 배열은 각 원소가 포인터이기 때문에 각각의 원소들에 대해서도 동적할당을 받을 필요가 있다. 3. 풀이 및 코드 분석#..
1. 문제문제 제목 : 가로 세로의 합 구하기 2. 생각목표) 문제의 범용성을 높이기 위해 5행 6열 뿐만 아니라 행과 열 값을 받아서 2차원 배열을 생성한 뒤, 그에 대한 각 열과 행의 합을 구하여 2차원 배열의 끝에 저장하자. 가변 길이를 갖는 2차원 배열을 생성하기 위해 malloc 함수 사용중요) 각 열에 대한 1차원 가변 길이를 갖는 배열을 생성하기 위해 추가적으로 malloc 함수 사용(0, 0) 부터 시작해서 값을 대입하는 과정인 초기화 작업 수행각 행과 열의 합을 구해 대입 3. 풀이 및 코드 분석#include #include // Function prototype.void get_size_of_board(unsigned short* max_row, unsigned short* max_..
1. 문제 https://www.acmicpc.net/problem/2775 2775번: 부녀회장이 될테야 첫 번째 줄에 Test case의 수 T가 주어진다. 그리고 각각의 케이스마다 입력으로 첫 번째 줄에 정수 k, 두 번째 줄에 정수 n이 주어진다 www.acmicpc.net 입력 : 첫 번째 줄에 Test case의 수 T가 주어지며, 그다음부터 층수 k, 호수 n이 주어진다 출력 : 각각의 Test case에 대해서 해당 집에 거주민 수를 출력하라. 2. 생각 본 문제는 크게 Recursion과 규칙성, 두 가지 경우로 풀 수 있다. 하지만, Recursion인 경우 모든 경우에 대해서 접근해야 하기 때문에 규칙성을 이용한 풀이보다 시간 면에서 상대적으로 떨어진다. 예를 들어 8층 11호(k=8..
1. 문제 https://www.acmicpc.net/problem/2292 2292번: 벌집 위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌 www.acmicpc.net 입력 : 첫째 줄에 N(1 ≤ N ≤ 1,000,000,000)이 주어진다. 출력 : 입력으로 주어진 방까지 최소 개수의 방을 지나서 갈 때 몇 개의 방을 지나는지 출력 2. 생각 본 문제는 계차 수열을 이용하여 풀었다. 계차 수열 알고리즘을 이용한 이유는 다음과 같다. ex) N = 2 일 때는 2 개의 방을 이동해야 하며, ex) N = 8 일 때는 3 개의 방을 이동해야 한다. 위 몇 가지..