-
[SISS/C언어 스터디] 2학기 1주차 스터디24-2 SISS/C언어 2024. 9. 8. 23:35
2학기 1주차 스터디 백준 제출 내역 화면 캡쳐 자율 2문제를 풀어서 제출하면 됩니다.
언어는 C언어만 가능합니다.
레벨 제한사항: Silver 5 이상
10845
- 자료 구조 (큐) → 큐의 기본 내용 실습하기
// 10845.c #include <stdio.h> #include <string.h> int main() { // 명령 수(n), 큐, 큐의 앞 뒤 인덱스 int n; int queue[10000]; int front = 0; int back = 0; // 명령 수 입력 scanf("%d", &n); // n번 동안 for (int i = 0; i < n; i++) { // 명령어 입력받을 배열 char command[6]; // 수 저장할 변수 int num; // 명령어 입력받기 scanf("%s", command); // push일 경우 if (strcmp(command, "push") == 0) { scanf("%d", &num); queue[back++] = num; } // pop일 경우 else if (strcmp(command, "pop") == 0) { // 큐가 비어있을 때 (이하 동일) if (front == back) { printf("-1\n"); } else { printf("%d\n", queue[front++]); } } // size일 경우 else if (strcmp(command, "size") == 0) { printf("%d\n", back - front); } // empty일 경우 else if (strcmp(command, "empty") == 0) { if (front == back) { printf("1\n"); } else { printf("0\n"); } } // front일 경우 else if (strcmp(command, "front") == 0) { if (front == back) { printf("-1\n"); } else { printf("%d\n", queue[front]); } } // back일 경우 else if (strcmp(command, "back") == 0) { if (front == back) { printf("-1\n"); } else { printf("%d\n", queue[back - 1]); } } } return 0; }
15649
- 백트래킹 → N까지의 자연수 중 중복 없이 M개를 고를 수열 찾기
// 15649.c #include <stdio.h> // 자연수의 개수(n), 수열의 길이(m) int n, m; // 수열의 길이 m이 8보다 작으므로 // 선택한 수 int arr[9]; // 사용 확인 int visited[9]; void dfs(int cnt) { // 선택한 수가 m개이면 출력 if (cnt == m) { for (int i = 0; i < m; i++) { printf("%d ", arr[i]); } printf("\n"); return; } for (int i = 1; i <= n; i++) { // 선택되지 않은 수일 경우 방문 표시하고 저장 if (!visited[i]) { visited[i] = 1; arr[cnt] = i; // 다음 숫자 선택하는 재귀 코드 dfs(cnt + 1); // i 재선택을 위한 초기화 visited[i] = 0; } } } int main() { // n, m 입력 받기 scanf("%d %d", &n, &m); // dfs 실행 dfs(0); return 0; }
'24-2 SISS > C언어' 카테고리의 다른 글
[SISS/C언어 스터디] 2학기 6주차 스터디 (2) 2024.11.03 [SISS/C언어 스터디] 2학기 5주차 스터디 (1) 2024.10.06 [SISS/C언어 스터디] 2학기 4주차 스터디 (1) 2024.09.29 [SISS/C언어 스터디] 2학기 3주차 스터디 (1) 2024.09.22 [SISS/C언어 스터디] 2학기 2주차 스터디 (0) 2024.09.14