1406 에디터
https://www.acmicpc.net/problem/1406 에디터를 구현하는 문제이다. 배열로 구현하면 삽입이나 삭제 연산이 O(N)이 걸리므로 스택이나 연결리스트를 이용해서 O(1)만에 삽입과 삭제가 가능하게 한다. 스택으로 구현시 커서를 기준으로 왼쪽, 오른쪽 두 개의 스택을 두고 구현한다. 스택 이용 1234567891011121314151617181920212223#include #include using namespace std; int main(){ stack l,r; char c,a; while((c=getchar())!='\n') l.push(c); int n; scanf("%d",&n); while(n--) { scanf(" %c",&c); if(c=='L' && !l.empty(..
Algorithm/BOJ
2018. 3. 8. 07:54
15501 부당한 퍼즐
https://www.acmicpc.net/problem/15501 처음 수열을 뒤집기나 밀기 연산을 통해 결과 수열로 만들 수 있는지 물어보는 문제이다. 두 수열의 원소가 같은 기준점을 잡고 오른쪽 방향으로 볼 때 혹은 왼쪽 방향으로 볼 때 두 수열이 같아야 한다. 123456789101112131415161718192021222324252627282930313233343536#include #include #include using namespace std; bool operator==(vector &a,vector &b){ int len=a.size(); for(int i=0;i
Algorithm/BOJ
2018. 3. 5. 06:18