전체 글 221

10845번 큐 - C++

[문제] https://www.acmicpc.net/problem/10845 10845번: 큐 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net [풀이] 큐 [코드] #include using namespace std; int main() { ios::sync_with_stdio(0); cin.tie(0); queue q; int n; cin >> n; while(n--){ string s; cin >> s; if(s == "push"){ int t; cin >> t; q.push(t); } else if(s ==..

카테고리 없음 2022.07.20

2493번 탑 - C++

[문제] https://www.acmicpc.net/problem/2493 2493번: 탑 첫째 줄에 탑의 수를 나타내는 정수 N이 주어진다. N은 1 이상 500,000 이하이다. 둘째 줄에는 N개의 탑들의 높이가 직선상에 놓인 순서대로 하나의 빈칸을 사이에 두고 주어진다. 탑들의 높이는 1 www.acmicpc.net [풀이] 스택 [코드] #include using namespace std; int main() { ios::sync_with_stdio(0); cin.tie(0); int n; cin >> n; stack S; vector V; int cnt = 1; while(n--){ int t; cin >> t; if(S.empty()) { V.push_back(0); } else { if(S...

카테고리 없음 2022.07.20

10773번 제로 - C++

[문제] https://www.acmicpc.net/problem/10773 10773번: 제로 첫 번째 줄에 정수 K가 주어진다. (1 ≤ K ≤ 100,000) 이후 K개의 줄에 정수가 1개씩 주어진다. 정수는 0에서 1,000,000 사이의 값을 가지며, 정수가 "0" 일 경우에는 가장 최근에 쓴 수를 지우고, 아닐 경 www.acmicpc.net [풀이] STL 스택을 이용하는 문제이다. 입력된 정수가 0일 경우에는 가장 최근에 쓴 수를 지우므로, 스택의 empty()를 이용하여, 값이 들어있는 지 확인후, pop() 함수로 삭제하면 된다. 입력된 정수가 0이 아닌 경우에는 원소를 스택에 집어넣기 위해서 push() 함수를 이용하면 된다. 합계 결산은 empty()를 이용하여 값이 있는지 확인하고..

알고리즘/풀이 2022.07.16

10828번 스택 - C++

[문제] https://www.acmicpc.net/problem/10828 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net [풀이] 기본적인 스택 풀이 문제이다. C++ STL 중 하나인 스택의 개념과 사용법을 알아보자. 1. 스택 스택(Stack)은 대표적인 LIFO(Last In First Out) 구조이다. 즉, 제일 마지막에 넣은 데이터가 처음으로 빠져나오는 구조를 말한다. C++ STL 사용법 > 스택 선언 stack 이름으로 스택 선언하기 stack stack; > 스택에 데이터 ..

알고리즘/풀이 2022.07.16

Array(배열) Linked List(연결 리스트) 정리

본 글은 깃허브에 올라온 자료 구조 정리(https://github.com/Seogeurim/CS-study/blob/main/contents/data-structure/basic.md#array-%EB%B0%B0%EC%97%B4) 글을 보고 정리한 글입니다. 자료 구조(Data Structure)란? 자료에 효율적으로 접근하고 수정할 수 있도록 데이터를 구성하고 저장하는 방법을 의미한다. 선형 자료 구조: 데이터가 일렬로 나열되어 있음.(array, linked list, stack, queue) 비선형 자료 구조: 데이터가 특정한 형태로 있는 것(tree, graph) Array(배열) 동일한 자료형의 데이터를 일렬로 나열한 자료구조 1. 선형 구조 2. 데이터 접근이 용이하다. (인덱스로 접근, R..

카테고리 없음 2022.07.11

4. 인스턴스화를 막으려거든 private 생성자를 사용하라 - 이펙티브 자바

본 글은 조슈아 블로크의 이펙티브 자바 3판을 읽고 정리한 글입니다. 정적 메서드와 정적 필드만을 담은 클래스를 만드는 경우 1. java.lang.Math와 java.util.Arrays처럼 기본 타입 값이나 배열 관련 메서드를 모아놓는 경우 2. java.util.Collections처럼 특정 인터페이스를 구현하는 객체를 생성해주는 정적 메서드(혹은 팩터리)를 모아 놓을 수 있음. 3. final 클래스와 관련한 메서드를 모아놓을 때도 사용(final 클래스를 상속해서 하위 클래스에 메서드를 넣는 건 불가능) 정적 멤버만 담은 유틸리티 클래스는 인스턴스로 만들어 쓰려고 설계한 것이 아니지만, 생성자를 명시하지 않을시 컴파일러가 자동으로 기본 생성자를 만듦(매개변수를 받지 않는 public 생성자가 만..

카테고리 없음 2022.07.11