일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 서이추 자동
- socket.io
- Selenium
- 국세청
- 스크래퍼
- Selenium 네이버 블로그
- 셀레니움
- 서이추 매크로
- 네이버 블로그
- 웹소켓 서버
- Node
- Java
- 네이버 블로그 이웃추가 자동
- 크롤링
- 서로이웃추가 매크로
- kwoss2341
- 서로이웃추가 자동
- 실시간 웹소켓 서버
- amqplib
- 웹소켓
- nodejs
- 실시간
- node.js
- 크롤러
- rabbitmq
Archives
- Today
- Total
defaultK
[프로그래머스] 풍선 터트리기 c++ 본문
https://programmers.co.kr/learn/courses/30/lessons/68646
코딩테스트 연습 - 풍선 터트리기
[-16,27,65,-2,58,-92,-71,-68,-61,-33] 6
programmers.co.kr
기본적인 아이디어.
i 번째 풍선의 왼쪽 방향의 최종 남는 풍선은,
i 번째 풍선의 왼쪽 방향 풍선들 중 가장 작은 값의 풍선이 남는다.
마찬가지로
i 번째 풍선의 오른쪽 방향의 최종 남는 풍선은,
i 번째 풍선의 오른쪽 방향 풍선들 중 가장 작은 값의 풍선이 남는다.
그 후 최종적으로 i 번째 풍선과 양옆의 풍선이 남아있는 경우
양옆의 풍선의 값이 i 번째 풍선의 값보다 하나 이상 큰 값이 존재하면
그 i 번째 풍선은 남을 수 있다.
이러한 과정을 풍선 배열의 크기만큼 반복하여야 한다.
그러므로 leftmin[], rightmin[]의 배열을 미리 세팅하여 사용한다.
(풍선 배열의 크기만큼 반복하는 동안 양옆 풍선의 최소값과 최대값을 반복해서 구하면 오버타임 뜰 가능성이 높다)
#include <string>
#include <vector>
#include <iostream>
using namespace std;
//https://programmers.co.kr/learn/courses/30/lessons/68646
int solution(vector<int> a) {
int answer = 0;
int rightmin[a.size()]; //i번쨰 풍선의 오른쪽 풍선들중 가장 작은값
int leftmin[a.size()]; //i번쨰 풍선의 왼쪽 풍선들중 가장 작은값
int mymin;
leftmin[0]=1000000001; //극단 세팅
rightmin[a.size()-1]=1000000001; //극단 세팅
mymin=a[0];
for(int i=1; i<a.size(); i++)
{
if(a[i-1]<mymin)
{
mymin=a[i-1];
}
leftmin[i]=mymin; //i번쨰 풍선의 왼쪽 풍선들중 가장 작은값
}
mymin=a[a.size()-1];
for(int i=a.size()-2; i>=0; i--)
{
if(a[i+1]<mymin)
{
mymin=a[i+1];
}
rightmin[i]=mymin; //i번쨰 풍선의 오른쪽 풍선들중 가장 작은값
}
for(int i=0; i<a.size(); i++)
{
if(a[i]<leftmin[i]||a[i]<rightmin[i]) //풍선 판단
{
answer++;
}
}
return answer;
}
'알고리즘 ( C++ ) > 프로그래머스' 카테고리의 다른 글
[프로그래머스] (문자열) 카카오 문자열 압축 c++ (0) | 2021.01.08 |
---|---|
[프로그래머스] (문자열) 카카오 괄호 변환 c++ (0) | 2021.01.07 |
[프로그래머스] (DFS/BFS) 네트워크 c++ (0) | 2021.01.07 |
[프로그래머스] (DP,격자경로) 보행자 천국 c++ (0) | 2021.01.07 |
[프로그래머스] 카카오 자물쇠와 열쇠 c++ (0) | 2021.01.07 |
Comments