[BOJ] 2812. 크게 만들기 - c++

ha·2022년 1월 26일
0

BOJ

목록 보기
11/28

https://www.acmicpc.net/problem/2812

c++풀이

입력된 숫자 문자열 앞에서 부터 다음 숫자와 비교
while문 대신 if문 사용시 예제3 결과 = 477252841출력
->새로 push_back 할 때 없어질 수 있는 최대로 없애고 for문 진행

#include <iostream>
#include <string>
#include <deque>
#include <algorithm>
using namespace std;

int N,K;
string s;

int main()
{
    int round=0;
  cin>>N>>K;
  cin>>s;
  deque<char> dq;
  for(unsigned int i=0;i<s.size();i++)
  {
      //if(K && !dq.empty() && dq.back()<s[i]) => 
      while(K && !dq.empty() && dq.back()<s[i])
      {
          K--;
          dq.pop_back();
         
      }
      
      dq.push_back(s[i]);
      
      cout<<'\n';
  }
 
  for(unsigned int i=0;i<dq.size()-K;i++)
  {
      cout<<dq[i];
  }
  return 0;
}

0개의 댓글