-
[SISS/C언어 스터디] 2학기 8주차 스터디24-2 SISS/C언어 2024. 11. 16. 23:55
2학기 7주차 스터디 백준 제출 내역 화면 캡쳐 자율 2문제를 풀어서 제출하면 됩니다.
언어는 C언어만 가능합니다.
레벨 제한사항: Silver 5 이상
11758
- 기하 → 외적을 이용하여 세 점의 위치 관계 판별
// 11758.c #include <stdio.h> // 세 점의 방향을 판별 (외적을 이용) int direction(int x1, int y1, int x2, int y2, int x3, int y3) { // 벡터의 외적을 계산 int result = (x2 - x1) * (y3 - y1) - (x3 - x1) * (y2 - y1); // 양수일 경우 반시계 방향 if (result > 0) { return 1; } // 음수일 경우 시계 방향 else if (result < 0) { return -1; } // 0일 경우 직선 위에 위치 else { return 0; } } int main() { int x1, y1, x2, y2, x3, y3; // 세 점의 좌표 입력 scanf("%d %d", &x1, &y1); scanf("%d %d", &x2, &y2); scanf("%d %d", &x3, &y3); // 결과 출력 printf("%d", direction(x1, y1, x2, y2, x3, y3)); return 0; }
11758
- 문자열 → 재등장의 경우 그룹 단어가 아님
// 1316.c #include <stdio.h> #include <string.h> #include <stdbool.h> #define MAX_LEN 101 int main() { int n, cnt = 0; char temp[MAX_LEN]; bool seen[26]; // 알파벳 사용 여부 저장 // 문자열 개수 입력 scanf("%d", &n); // 그룹 단어 검사 for (int k = 0; k < n; k++) { scanf("%s", temp); int len = strlen(temp); bool is_group_word = true; // 알파벳 사용 여부 배열 초기화 for (int i = 0; i < 26; i++) { seen[i] = false; } for (int l = 0; l < len; l++) { int current_char = temp[l] - 'a'; // 현재 문자의 인덱스 if (!seen[current_char]) { seen[current_char] = true; // 문자 사용 기록 } else { // 이전 문자와 다른 문자 재등장의 경우 그룹 단어가 아님 if (temp[l - 1] != temp[l]) { is_group_word = false; break; } } } // 카운트 증가 if (is_group_word) { cnt++; } } // 개수 출력 printf("%d\n", cnt); return 0; }
'24-2 SISS > C언어' 카테고리의 다른 글
[SISS/C언어 스터디] 2학기 9주차 스터디 (0) 2024.11.20 [SISS/C언어 스터디] 2학기 7주차 스터디 (0) 2024.11.10 [SISS/C언어 스터디] 2학기 6주차 스터디 (2) 2024.11.03 [SISS/C언어 스터디] 2학기 5주차 스터디 (1) 2024.10.06 [SISS/C언어 스터디] 2학기 4주차 스터디 (1) 2024.09.29