[C언어 코드업 문제풀이] CodeUp 1411 : 빠진 카드
코드업 1411번 빠진 카드 문제 풀이 해답입니다.
1. 문제 설명
우리는 1부터 N까지의 숫자가 차례대로 적힌 N장의 카드 묶음을 가지고 있다.
그런 데 이 카드 묶음을 옮기는 중 실수로 땅에 떨어뜨려 그 중 한 장을 잃어버렸다.
여러 분은 땅에 떨어진 카드 묶음을 읽어서 빠진 하나의 카드 번호를 찾아 출력해야 한다.
2. 입력
첫 줄에는 한 장을 잃어버리기 전 카드의 전체 장수 N이 주어져 있다. 단 . 3 <= N <= 50 이다.
이어지는 N-1개의 각 줄에는 한 장이 빠진 카드 묶음의 카드 숫자가 하나씩 순서 없이 나열되어 있다.
3. 출력
여러분은 주 어진 카드 묶음에서 빠진 하나의 카드를 찾아서 그 번호를 출력해야 한다.
4. 입력 예시
10
3
4
1
10
2
6
7
5
9
5. 출력 예시
8
6. 문제 풀이
2 3 9 12
#include<stdio.h>
int main(){
int Arr_Card[50] = {};
int i_CardNum;
scanf("%d",&i_CardNum);
for(int i = 0; i<i_CardNum; i++){
Arr_Card[i] = i+1;
}
int i_LoseCardNum;
for(int j = 0; j<i_CardNum - 1; j++){
scanf("%d",&i_LoseCardNum);
Arr_Card[i_LoseCardNum-1] = 0;
}
for(int k = 0; k<i_CardNum; k++){
if(Arr_Card[k] != 0){
printf("%d",Arr_Card[k]);
}
}
return 0;
}
|
for(int i = 0; i<i_CardNum; i++){
Arr_Card[i] = i+1;
}
을 통해 입력받은 카드의 개수 만큼 1부터 ++된 수를 배열에 입력해줍니다.
for(int j = 0; j<i_CardNum - 1; j++){
scanf("%d",&i_LoseCardNum);
Arr_Card[i_LoseCardNum-1] = 0;
}
순서 없는 한 장이 빠진 카드 묶음의 카드 숫자를 입력 받습니다.
배열은 0부터 시작하였으므로 4번 카드가 입력된다면 arr_card[3]이 선택되도록 -1을 해주었습니다.
이러한 배열에는 0을 대입해줍니다.
for(int k = 0; k<i_CardNum; k++){
if(Arr_Card[k] != 0){
printf("%d",Arr_Card[k]);
}
}
카드의 개수만큼 for문을 돌리는데 0이 아닌 카드의 값을 출력해줍니다.
감사합니다.
'ET의 공부 > C언어 연습문제[ 코드업 ]' 카테고리의 다른 글
[C언어 코드업 문제풀이] CodeUp 1416 : 2진수 변환 (0) | 2020.04.07 |
---|---|
[C언어 코드업 문제풀이] CodeUp 1412 : 알파벳 개수 출력하기 (1) | 2020.04.07 |
[C언어 코드업 문제풀이] CodeUp 1410 : 올바른 괄호 1 (괄호 개수 세기) (0) | 2020.04.06 |
[C언어 코드업 문제풀이] CodeUp 1409 : 기억력 테스트 1 (0) | 2020.04.06 |
[C언어 코드업 문제풀이] CodeUp 1407 : 문자열 출력하기 1 (1) | 2020.04.06 |