Small Grey Outline Pointer CodeUp c++ 1411 : 빠진 카드
본문 바로가기
Dev./Algorithm Prac

CodeUp c++ 1411 : 빠진 카드

by sso. 2022. 4. 3.

첫 줄에는 한 장을 잃어버리기 전 카드의 전체 장수 N이 주어져 있다. 단 . 3 <= N <= 50 이다.

이어지는 N-1개의 각 줄에는 한 장이 빠진 카드 묶음의 카드 숫자가 하나씩 순서 없이 나열되어 있다.

카드 묶음에서 빠진 하나의 카드를 찾아서 그 번호를 출력해야 한다.

 

#include <stdio.h>

//n(n+1)/2 => 1~n까지의 합
int main(){

	int except[51];
	int n;
	int sum=0;
	int sum2 = 0;

	scanf("%d", &n); //n장의 카드
	//sum = n*(n + 1) / 2;

	for (int i= 1; i <= n; i++) {
		sum += i;
	}

	for (int i = 1; i <n; i++) {
		scanf("%d", &except[i]); //카드 숫자 n-1까지
		sum2 += except[i];
	}
	
	printf("%d", sum-sum2);

}

1~n까지의 합

 

n(n+1)/2 

혹은 

for (int i = 1; i <= n; i++) {
sum += i;
}

 

로 구할 수 있다

 

1~n까지의 합을 구한 후

sum에 저장

 

1~n-1 배열 까지 반복하여 합을 구한 후

sum2에 저장

=>n-1번 배열까지 돌고 나서 sum-sum2의 차가 except로 입력 받은 숫자 중 없는 숫자이다

 

 

 

 

728x90

댓글