반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- C
- 입문
- 구현
- 문제풀이
- Beakjoon
- 10807
- C 언어
- VS
- 문자열
- HTML
- 초보
- 알고리즘
- 백준
- 코드엔진
- 파이썬
- 꾸준히
- Implemention
- 설명
- Baekjoon
- implement
- C Programming
- 친절한 설명
- greedy
- Python
- 그리디
- CSS
- c언어
- 정리
- 10926
- 심화1
Archives
- Today
- Total
안경잡이 구루루
백준 5597 (과제 안 내신 분..?) [C programming] [Implemention/구현] 본문
반응형
https://www.acmicpc.net/problem/5597
나:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main() {
int i, j, atd[30]={0,};
int num;
for (i = 0; i < 28; i++) {
scanf("%d", &num);
atd[num - 1] = 1;
}
for (j = 0; j < 30; j++) {
if (atd[j] == 0) printf("%d\n", j+1);
}
return 0;
}
완성된 코드는 위와 같다.
우선 VS scanf() 오류를 막기위해 #define CRT_SECURE_NO_WARNINGS 를 선언
(1)
int i, j, atd[30]={0,};
int num;
(2)
for (i = 0; i < 28; i++) {
scanf("%d", &num);
atd[num - 1] = 1;
}
(3)
for (j = 0; j < 30; j++) {
if (atd[j] == 0) printf("%d\n", j+1);
}
(1) 반복문에 사용될 i, j 변수를 선언해준다. 그리고 출석인원 30명을 나타낼 atd[30] 배열을 선언하고 출석 여부를 확인하기 위해 모든 배열에 0 값을 넣는다.
그리고 출석번호를 나타내는 변수 num을 선언
(2) 첫 번째 반복문에서 28번 반복을 통해 출석번호 num을 입력받고 그 번호에 해당하는 배열값을 1로 바꿔 출석상태로 만들어준다.
이때 배열은 0부터 배열개수-1 까지 사용되기 때문에 atd[num -1]을 사용
(3) 두 번째 반복문에서 모든 atd 배열이 결석인 0인지 출석한 1인지 if 구문을 이용해 검사하고 만약 배열의 값이 0(결석) 이면 그 배열+1 인 출석번호를 출력시킨다.
반응형