본문 바로가기

백준7

[스택, 배열] 28278 : 스택2 https://www.acmicpc.net/problem/28278 28278번: 스택 2 첫째 줄에 명령의 수 N이 주어진다. (1 ≤ N ≤ 1,000,000) 둘째 줄부터 N개 줄에 명령이 하나씩 주어진다. 출력을 요구하는 명령은 하나 이상 주어진다. www.acmicpc.net 저번주 벡터로 풀어 봤던 스택문제를 이번엔 배열과 클래스를 이용해서 짜봤다. 근데 출력초과가 뜨는 것이 아닌가? 출력하지 말아야 할 것을 출력하면 뜨는 오류라고 했다. 곰곰히 다시 보니 2번에서 출력오류가 났다. 2번 명령 : 스택에 정수가 있다면 맨 위의 정수를 빼고 출력한다. 없다면 -1을 대신 출력한다. 무슨 오해냐? 나는 맨위를 삭제하고, 나머지 정수를 출력하라고 하는 줄 알았다... 하지만 삭제한 그 애를 출력하라.. 2023. 9. 13.
[스택] 10773, 벡터 사용한 스택 https://www.acmicpc.net/problem/10773 10773번: 제로 첫 번째 줄에 정수 K가 주어진다. (1 ≤ K ≤ 100,000) 이후 K개의 줄에 정수가 1개씩 주어진다. 정수는 0에서 1,000,000 사이의 값을 가지며, 정수가 "0" 일 경우에는 가장 최근에 쓴 수를 지우고, 아닐 경 www.acmicpc.net 처음 도전한 코드(실패) 4,3,0,1,0은 0이 나와서 오예! 하고 돌렸는데, 바로 실패였다. 이유는 0이 연속으로 나왔을 때 오답이 나왔기 때문.. #include #include #include using namespace std; int main() { int K {}; int temp{}; int sum{}; vector numbers{}; cin >> .. 2023. 9. 8.
[스택 & 벡터] 28278 실버 문제 처음 풀어보았다. 친구들과 알고리즘 스터디를 하는데, 골드 문제 푼 친구의 코드 설명을 듣고 실버 정도는 도전해도 좋겠단 생각이 들었다. 벡터를 열심히 연습하고자 스택 문제에 벡터를 써서 접근했다. https://www.acmicpc.net/problem/28278 28278번: 스택 2 첫째 줄에 명령의 수 N이 주어진다. (1 ≤ N ≤ 1,000,000) 둘째 줄부터 N개 줄에 명령이 하나씩 주어진다. 출력을 요구하는 명령은 하나 이상 주어진다. www.acmicpc.net 우선.. 스택은 접시 쌓기 처럼 맨 처음에 넣은 요소가 맨 밑바닥이 된다는 것을 기억해야 했다. 시간 초과한 나의 코드 #include #include using namespace std; vector stack{};.. 2023. 9. 5.
공백 입력..!! 백준을 풀다 보면 종종 '자연수 A, B가 공백을 사이에 두고 차례로 입력된다.' 라는 얘기가 보인다. cin >> A >> B;로 하면 나는 당연히 A엔터B라고 생각했다. 그래서 공백을 문자로 인식하게 해야하는가 싶어 엄청 고민하고는 했는데, 'A스페이스바B'로 입력하나 'A엔터B'로 하나 똑같이 컴파일러가 A와 B를 인식하는 게 아닌가! 흐미.. 오늘 알게되었다. 아래는 엄청 기초 문제였다. 2023. 8. 8.
(2562번)최댓값 찾고 몇 번째 숫자인지 찾기 2562번: 최댓값 9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오. 예를 들어, 서로 다른 9개의 자연수 3, 29, 38, 12, 57, 74, 40, 85, 61 이 주어 www.acmicpc.net 어제의 문제를 풀어서인지 최댓값은 금방 찾았으나 몇 번째 수인지 찾는데 시간이 조금 걸렸다. check++도 해보고 이것저것 시도해보다가 넘 당연한 i를 찾아야했다. 2023. 4. 19.
[버블정렬 & 벡터] 10818번 문제 이 문제를 첨 보고 파악한 것은 동적 배열을 써야 할 것 같다 오름차순으로 정리해서 첫번째 요소, 마지막 요소를 출력하면 되겠다 그래서 코드를 비주얼스튜디오에서 짜봤는데, 돌아가지만 백준에서는 시간 초과를 했다. 💀 그럼 어떻게 바꿔야지? GPT 말로는 벡터를 쓰랬다. 그래서 일단 벡터를 간단히 찾아봤다. 많이 들어봤지만 내가 많이 써보지 않았던 그 벡터.. 벡터 간단 설명 배열과 유사하지만 크기가 동적인 시퀀스 컨테이너 즉, 런타임 중 크기가 커지거나 줄어들 수 있음 STL(표준템플릿라이프러리)의 일부 임의 액세스, 자동크기 조정, 효율적인 삽입과 삭제 기능 제공 #include 벡터 선언 방법 std::vector vec; 벡터 요소 추가 방법 vec.push_back(10); // 마지막에 10 추.. 2023. 4. 19.