더듬이의 헬로월드

Hello, World!

728x90

알고리즘 풀이/백준,BOJ [코드플러스] 5

[백준/자료구조 1/C++] 1874 - 스택 수열

난이도 Silver3 문제집 링크 https://www.acmicpc.net/workbook/view/3953 문제 링크 https://www.acmicpc.net/problem/1874 문제 해결 과정 숫자를 입력 받고 현재 스택에서 가장 높은 숫자보다 높으면, 입력받은 숫자가 될 때까지 최고치를 하나씩 늘리면서 스택에 넣어준다. 그러고 나서, 입력받은 값이 현재 스택의 top이라면, pop! top이 아니라면 NO! 주의할 점 1.문자를 한번에 입력받고 출력해야 버퍼를 덜 사용해야, 실행 시간 을 줄일 수 있다. 2.반복문 사용에 주의해야 한다. 코드 #include #include using namespace std; int main() { stack BOJstack; string result; i..

[백준/자료구조 1/C++] 1406-에디터

난이도 Silver3 문제집 링크 https://www.acmicpc.net/workbook/view/1406 문제 링크 https://www.acmicpc.net/problem/1406 문제 해결 과정 커서를 기준으로, 앞과 뒤 2개의 스택으로 나누어서 각 문자를 스택에 넣는다. (커서 왼쪽 스택) | (커서) | (커서 오른쪽 스택) 커서를 왼쪽으로 옮기면 왼쪽에서 하나 빼서 오른쪽에 하나 넣는다. 커서를 오른쪽으로 옮기면 오른쪽에서 하나 빼서 왼쪽에 하나 넣는다. 지울거면 왼쪽 스택에서 하나뺀다. 추가할거면 왼쪽 스택으로 추가한다! 마지막 출력시에는 커서 전 스택을 pop하고 커서 후 스택으로 push후, 커서 후 스택을 pop하며 차례대로 출력하면 된다 주의할 점 1.만약 pop할 스택이 비어있다..

[백준/자료구조 1/C++] 9012-괄호

Silver4 문제집 링크 https://www.acmicpc.net/workbook/view/3953 문제 링크 https://www.acmicpc.net/problem/9012 문제 해결 과정 한줄의 문자열을 입력받고, 문자 하나 하나를 검사해가며, 괄호의 첫부분, '(' 라면 스택에 적립, 끝부분 ')' 이라면, 스택에서 pop한다! 모든 문자를 점검했을때, 스택이 비어있다면, 성공 아니면 실패를 출력한다. 주의할 점 1.스택이 비어있는데 ')' 가 나온다면, 오류가 나므로, 이 경우를 잘 검사해야 한다. 코드 #include #include using namespace std; int main() { int repeat; cin >> repeat; for (int i = 0; i < repeat;..

[백준/자료구조 1/C++] 10828-스택

난이도 Silver4 문제집 링크 https://www.acmicpc.net/workbook/view/3953 문제 링크 https://www.acmicpc.net/problem/10828 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 문제 해결 과정 C++의 STL을 이용하여 스택을 구현하여 해결했다. stack 라이브러리의 함수들을 알고 있다면 어렵지 않게 풀 수 있었다. 주의할 점 1.pop이나 top함수 호풀시 스택이 비어있다면 오류가 발생하므로 꼭 empty를 이용해 검사하자! 코드..

[백준/자료구조 1/C++] 9093-단어 뒤집기

난이도 Bronze1 문제집 링크 https://www.acmicpc.net/workbook/view/3953 문제 링크 https://www.acmicpc.net/problem/9093 문제 해결 과정 한줄의 문자열을 입력받고, 문자 하나 하나를 검사해가며, 공백이 아니라면 스택에 넣고, 공백이라면 현재 스택의 모든 문자들을 출력하는 식으로 해결했다. 스택의 자료구조를 이용하면 쉽게 풀 수 있는 문제였다. 주의할 점 1.문자열을 입력 받을 때, 어떤 함수를 쓰는지 주의해서 불필요한 문자가 들어가지 않도록 한다. 코드 #include #include #include using namespace std; stack BOJstack; //문자를 저장할 스택 선언 void Output() { //스택이 빌 때..

728x90