https://www.codetree.ai/missions/5/problems/strange-bomb-3?&utm_source=clipboard&utm_medium=text
코드트리 | 코딩테스트 준비를 위한 알고리즘 정석
국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요.
www.codetree.ai
-k ~ +k까지 탐색하였고 범위를 넘거나 i == j인 경우는 건너뛰었다.
만약 같은 숫자라서 터진다면 터트리고 최댓값 갱신 후 더이상 비교하지 않았다.
같은 수를 여러번 만나면 계속 터져서,, break해서 탈출시켰다. 근데 그냥 used 배열로 처리해도 될 것 같다.
#include <iostream>
#include <algorithm>
using namespace std;
int n, k, map[101], dat[1000001];
int main() {
cin >> n >> k;
for(int i=0; i<n; i++)
cin >> map[i];
int answer = 0, answerNum = 0;
for(int i=0; i<n; i++){
for(int j = i - k; j<= i + k; j++){
if(j < 0 || j > n || i == j) continue;
if(map[i] == map[j]){
// cout << i << " : " << map[i] << ", " << j << " : " << map[j] << '\n';
dat[map[i]]++;
if(answer < dat[map[i]]){
answerNum = map[i];
answer = dat[map[i]];
}
break;
}
}
}
cout << answerNum;
return 0;
}
'C++ > 코드트리' 카테고리의 다른 글
인증용 테스트 글 (0) | 2023.09.02 |
---|---|
[코드트리] 초기 수열 복원하기 (0) | 2023.08.29 |
[코드트리] 독서실의 거리두기 4 (0) | 2023.08.25 |
[코드트리] A, B, C, D 찾기 2 (0) | 2023.08.25 |
[코드트리] 훌륭한 점프 (0) | 2023.08.23 |