별 찍기 - 9 문제는 단순한 구현 문제입니다. 작성한 코드는 다음과 같습니다. #include #pragma warning(disable : 4996) int N; int main(void) { scanf("%d", &N); for (int i = N; i >= 1; i--) { for (int j = 0; j < (N - i); j++) { printf(" "); } for (int j = 0; j < (2 * i - 1); j++) { printf("*"); } printf("\n"); } for (int i = 2; i
회전하는 큐는 데크를 사용하여 푸는 문제입니다. front에서만 pop이 될 수 있으므로 뽑아낼 원소의 위치와 front사이의 가능한 두 개의 거리를 비교하여 거리가 작은 쪽으로 로테이션합니다. 뽑아낼 원소를 모두 뽑아내기 위해 로테이션하는 총 횟수를 계산하여 출력함으로써 문제를 해결할 수 있습니다. 작성한 코드는 다음과 같습니다. #include #define size 100 int N, M; int extracted[100]; int index_extracted; int total_op; int deque[size]; int front = 0, back = 1; int temp_front, temp_back; void rotate_clock() { deque[back]=deque[(front+1+si..
연산자 끼워넣기 문제는 BOJ 14888번 문제이자 삼성 SW 역량 테스트 기출문제입니다. 가능한 모든 연산자의 순열을 찾기 위해서 백트래킹 기법을 활용하여 완전 탐색을 하는 것이 문제의 핵심입니다. 아래의 풀이에서는 연산자 배열을 정의한 후 0번 인덱스부터 N-2번 인덱스까지 순서대로 4가지 연산자를 채우며 가능한 모든 연산자 수열을 찾는 백트래킹 함수를 설계하였습니다. 문제를 풀면서 느낀 부분은 백트래킹 함수를 통해 완전 탐색을 할 때는 모든 경우를 일정한 기준에 따라 빠짐없이 분류할 수 있다면 문제를 쉽게 할 수 있다는 점입니다. 추가적인 팁으로 int형 변수에서 max와 min의 초기값을 설정할 때 간단하게 987654321, -987654321로 대입하면 int형의 최대, 최소 수의 범위를 기억..
- Total
- Today
- Yesterday
- 영화
- BOJ
- 메이플스토리
- C언어
- 취미
- Git
- Verilog
- 애니메이션
- 정렬
- 이분법
- 큐
- recursive
- 구조체
- 완전탐색
- Push
- 영어 어휘
- 재귀함수
- BFS
- gem5
- 베릴로그
- 백트래킹
- C++
- 백준
- backtracking
- 너비우선탐색
- 이진탐색
- 구현
- 건이의 특제 떡국 끓이기
- 스택
- 알고리즘
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |