반응형

자료 구조 14

[백준 20364] 부동산 다툼 C++

문제 백준 20364 20364번: 부동산 다툼 첫 번째 줄에 땅 개수 N과 꽉꽉나라에 사는 오리 수 Q가 공백으로 구분되어 주어진다. (2 ≤ N > N >> Q; for (int i = 0; i > num; int temp = num; bool canreach = true; stack st; //경로를 스택에 넣어줌 while (temp != 0) { st.push(temp); temp /= 2; } //스택 꺼내면서 경로확인 while (!st.empty()) { temp = st.top(); //경로의 해당 땅을 지나갈 수 없으면 if (check[temp] == true) { cout

알고리즘/백준 2021.09.01

[백준 5430] AC (C++)

문제 https://www.acmicpc.net/problem/5430 5430번: AC 각 테스트 케이스에 대해서, 입력으로 주어진 정수 배열에 함수를 수행한 결과를 출력한다. 만약, 에러가 발생한 경우에는 error를 출력한다. www.acmicpc.net 풀이 입력이 단순 숫자가 아니라 문자열 형태로 들어오기 때문에 그것 또한 고려해줘야 했습니다. 명령은 뒤집기 R과 맨 앞 삭제하기 D가 있는데 R일 때 실제로 배열을 뒤집어 버리면 시간 초과가 납니다. 방향을 체크하는 변수를 만들어주고, 변수를 통해 명령어를 처리해줘야 합니다. 먼저 문자열을 입력받고, 숫자만 dq에 push해줍니다. 현재 방향을 확인하여, R입력을 받으면 상태를 전환해줍니다. D입력을 받으면 방향이 거꾸로일 때는 뒤에서 삭제, 정..

알고리즘/백준 2021.08.29

[백준 2493] 탑 (C++)

문제 백준 2493 2493번: 탑 첫째 줄에 탑의 수를 나타내는 정수 N이 주어진다. N은 1 이상 500,000 이하이다. 둘째 줄에는 N개의 탑들의 높이가 직선상에 놓인 순서대로 하나의 빈칸을 사이에 두고 주어진다. 탑들의 높이는 1 www.acmicpc.net 풀이 먼저 탑의 높이와 인덱스를 받는 stack을 선언합니다. 탑의 높이를 입력해주고, 뒤에서 부터 다음 과정을 실행합니다. 1. 스택이 비었을 경우에는 탑의 높이와 인덱스를 스택에 push 합니다. 2. 스택이 비어있지 않을 때는, 스택의 top과 현재 탑의 높이를 비교하여, top이 작다면 레이저가 도달한 것이므로 레이저가 닿는 탑의 위치를 저장하는 배열 receive에 탑의 위치를 저장해준 후, stack을 pop 합니다. 3. 계속해..

알고리즘/백준 2021.08.25
반응형