-
프로그래머스 - 기지국 설치 [C++]문제 풀이/프로그래머스 2023. 8. 14. 23:42반응형
이 문제는 프로그래머스 level 3 문제이다. 이 문제는 입력이 2억이므로 O(n)으로도 약 2초가 걸린다. 따라서 배열을 사용한 방식으로는 불가능하다. now를 1로 하고, 입력으로 주어진 stations 를 활용해서 문제를 풀어야 한다. 이 생각을 하지 못하면 풀기 힘들 것 같다.
#include <iostream> #include <vector> using namespace std; int solution(int n, vector<int> stations, int w) { int answer = 0; int now = 1; int stationIndex = 0; while (now <= n) { if (stationIndex >= stations.size() || now < stations[stationIndex] - w) { answer++; now = now + 2 * w + 1; } else { now = stations[stationIndex] + w + 1; stationIndex++; } } return answer; }
반응형'문제 풀이 > 프로그래머스' 카테고리의 다른 글
프로그래머스 - 불량 사용자 [C++] (0) 2023.08.15 프로그래머스 - 스티커 모으기(2) [C++] (0) 2023.08.15 프로그래머스 - 숫자 게임 [C++] (0) 2023.08.14 프로그래머스 - 특정 기간동안 대여 가능한 자동차들의 대여비용 구하기 [MySQL] (2) 2023.08.01 프로그래머스 - 디스크 컨트롤러 [C++] (0) 2023.07.26