Coding Test/codility

[codility] FrogRiverOne c++

owls 2022. 4. 9. 21:08
728x90
  • 문제

개구리가 가장 빨리 강을 건널 수 있는 나뭇잎의 위치?의 인덱스 값을 구하는 문제같다.

A배열의 인덱스인 K는 시간(초)를 의미한다고 한다.

 

  • 문제 해결

1. set 자료구조를 사용한다. set은 중복을 허용하지 않고, 자동으로 오름차순으로 정렬되는 특징이 있다.

   set 변수의 크기가 X와 같다면 목적지X에 도달한 것이다.

#include <string>
#include <algorithm>
#include <vector>
#include <iostream>
#include <set>

int solution(int X, std::vector<int> &A){

	int len = A.size();
	std::set<int> nSet;

	for (int i = 0; i < len; i++) {
		nSet.insert(A.at(i));
		if (nSet.size() == X)
			return i;
	}

	return -1;
}

#define FrogRiverOne 

#ifdef FrogRiverOne 

int main() {

	std::vector<int> nVec = { 1,3,1,4,2,3,5,4 };
	int X = 5;
	std::cout << solution(5 ,nVec);

	return 0;
}
#endif

728x90