백준 3052 나머지 문제 링크
이 문제를 위해 파악해야 할 핵심요소 및 마인드맵
- 배열을 어떻게 활용할 것인가?
- 배열 안에 서로 다른 값과 같은 값을 구분할 수 있는 방법을 알고 있는가?
주의해야할 점/여러 풀이 방법 및 아이디어
- 배열에 들어갈 수 있는 숫자 자체가 한정적인 경우 정해진 크기의 배열을 생성, 그 안에 숫자에 맞게 넣는 알고리즘
- 배열을 빈 상태 시작, 거기에 하나씩 넣고 중복을 확인하는 것 << 너무 시간이 많이 든다.
- 42 크기의 배열을 생성, 안에 내용 확인하기
- 여기서도 있다/없다의 여부만 파악하는 과정으로 0과 1로 구분할 생각
- 만약 배열의 크기가 일정하지 않다면(상상 이상이라면) 하나하나 삽입하는 방법을 추천
#include <iostream>
using namespace std;
int main() {
int remain[42] = { 0 };
int t;
for (int i = 0; i < 10; ++i) {
cin >> t;
remain[t % 42] = 1;
}
int count = 0;
for (int i = 0; i < 42; ++i) {
count += remain[i];
}
cout << count << '\n';
}
'Coding > Basic' 카테고리의 다른 글
[Basic] 출력 계속 받는 방법 정리 (0) | 2019.09.11 |
---|---|
[백준]2920번: 음계 c언어 (0) | 2019.09.10 |
[백준] 1110번: 더하기 사이클 c언어 (0) | 2019.09.05 |
[DataStructures]Tree트리에 대해서 알아보자 (0) | 2019.08.29 |
[백준] 2908 상수 C언어 (0) | 2019.08.28 |