[ C++ ] 백준 3052번: 나머지
✏️ PS/Boj

[ C++ ] 백준 3052번: 나머지

반응형

 

안녕하세요? 수구리입니다.

이번 백준 문제풀이도 마찬가지로 1차원 배열에 대해서 풀어보고 있습니다.

지난 문제랑 굉장히 비슷합니다. 따라서 문제를 풀고 보시면 좋을것같네요!

문제는 아래 링크에 있습니다.

질문이나 댓글은 언제나 환영입니다!

 

[ 문제 ] 2577번: 숫자의 개수

 

3052번: 나머지

각 수를 42로 나눈 나머지는 39, 40, 41, 0, 1, 2, 40, 41, 0, 1이다. 서로 다른 값은 6개가 있다.

www.acmicpc.net

 

[ 나의 풀이 ]

#include <iostream>
#include <vector>
#include <algorithm>
#define all(v) v.begin(), v.end()
using namespace std;

int main() {
    ios_base::sync_with_stdio(false); 
	cin.tie(NULL);
	
	int a, cnt, res=0;
	vector<int> v;
	
	for(int i=0; i<10; i++){
	    cin >> a;
	    v.push_back(a % 42);
	}
	
	for(int i=0; i<10; i++){
	    cnt=0;
	    for (int j=i+1; j<10; j++){
    	    if (v[i] == v[j]) cnt++;
	    }
	    if (cnt==0) res++;
	}
	cout << res;
	
	return 0;
}

 

 

 

[ 설명 ]

1. 변수들을 선언해줍니다. 결과로 출력할 변수는 res 변수

2. int형 vector v를 선언

3. 수를 10개를 입력받을 것이기 때문에 for문을 총 10번 반복하면서 v에 int값 a를 추가

4. 그 다음 for문에서 i번째 요소와 i+1, i+2, ... ( < 10)번째 요소를 비교해가면서 값이 같다면 cnt값을 증가

5. 만약 같은 값이 없이 중첩 for문을 나오면 res값을 증가시킨다.

6. v의 모든 요소를 반복 비교를 수행한 뒤 마지막에 res값을 출력

반응형

'✏️ PS > Boj' 카테고리의 다른 글

[ C++ ] 백준 8958번: OX퀴즈  (0) 2021.10.14
[ C++ ] 백준 4344번: 평균은 넘겠지  (0) 2021.10.11
[ C++ ] 백준 2577번: 숫자의 개수  (0) 2021.10.06
[ C++ ] 백준 1546번: 평균  (4) 2021.10.05
[ C++ ] 백준 2562: 최댓값  (0) 2021.10.05