본문 바로가기

스택3

[스택] 백준 1874번 문제1. 수열의 개수 N 제공 ( 1 2. n개의 줄에는, 1이상 n이하의 정수가 1개씩 제공 (같은 정수가 2번 나오지는 않음)3. 해당 제공된 n개의 줄의 수열을 오름차순으로 정리 (스택 이용)4. 오름차순 정렬이 불가능할경우, "No"반환입력출력8+4+3+6+8-7-5+2+1- + + - - - -  문제 분석1부터 자연수를 증가시키면서, 입력으로 주어진 숫자와 비교하며 자연수를 스택에 추가하거나 빼는 방식으로 풀이스택 연산 방법1. 현재 수열 값 >= 자연수- 현재 수열값이 큰 경우, 자연수를 증가시키며 스택에 삽입2. 현재 수열값 == 자연수- 스택에서 값을 빼오며, 입력버퍼에 쌓아두고, 삭제진행- 단, 같지 않을경우 스택을 이용해서 오름차순을 만들 수 없으므로 "No" 반환  수도코드probl.. 2024. 10. 29.
[알고리즘] 스택 스택이란?배열에서 발전된 형태의 자료구조스택은 삽입과 삭제 연산이 후입선출(LIFO)구조를 가진다삽입과 삭제가 한쪽 방향에서만 일어난다 스택 관련 용어TOP삽입과 삭제가 이루어지는 위치를 의미PUSHTOP 위치에 새로운 데이터를 삽입하는 연산POPTOP 위치에 현재 있는 데이터를 삭제하고 확인하는 연산PEEKTOP 위치에 현재 있는 데이터를 단순 확인하는 연산 스택 사용 시기백트래킹 문제깊이우선탐색(DFS)재귀함수 2024. 10. 29.
함수 기본 ( C++ ) 1. 함수 형식                    2. 함수 오버로딩             3. 함수 호출 스택              함수 형식[반환값] [함수이름] ( [ 인자값 ], ... )  {        [ 함수 몸체 ]            return [반환값];}반환값 : int, double, string, 클래스 등.. , 함수의 계산 결과에 따른 결과값 반환함수이름 : 함수의 이름 ( 같은 함수를 재정의 하려면, 오버라이딩 혹은 오버로딩을 해야함 )오버로딩 : 서로다른 인자를 가진 같은 이름을 가진 함수오버라이딩 : 상위 클래스 존재하며, 해당 클래스의 함수를 재정의 ( 함수이름, 인자 동일 -> 함수 본체 내용만 다름 )인자값 : int, double, string, 클래스, 포인.. 2024. 7. 1.