백준
[C언어] 백준 1940번: 주몽
d0ng2
2024. 8. 22. 13:46
- 문제
https://www.acmicpc.net/problem/1940


- 코드
#include <stdio.h>
// 백준 1940번: 주몽
int main(){
int n,m;
scanf("%d", &n);
scanf("%d", &m);
int arr[n];
for(int i = 0; i < n; i++){
scanf("%d", &arr[i]);
}
int count = 0;
for(int i = 0; i < n; i++){
for(int j = 0; j < n; j++){
if((i != j) && (arr[i] != 0) && (arr[j] != 0)){
if(arr[i] + arr[j] == m){
count++;
arr[i] = 0;
arr[j] = 0;
break;
}
}
}
}
printf("%d\n", count);
return 0;
}
- 문제풀이방법
- 배열에 재료의 고유 번호를 저장한다.
- 전체 재료 중에 2개를 선택하기 위해 2중 for문을 사용한다.
- 같은 재료를 사용하는 경우는 제외, 고유 번호가 0일 경우 제외
- 두 재료의 합이 M과 같다면 count(만들 수 있는 갑옷의 수)를 1 증가시킨다.
- 사용한 재료의 고유 번호는 0으로 변경한다.(재활용 방지)