목록2024/02 (147)
득이공간
1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 www.acmicpc.net #include #include #include using namespace std; int Map[50][50]; list Neighbors[50][50]; void DFS(int Row, int Col) { Map[Row][Col] = 0; for (const pair& Neighbor : Neighbors[Row][Col]) { if (Map[Neighbor.first][Neighbor.second] == 0) { continue; } DFS(Neighbor.first..
1715번: 카드 정렬하기 정렬된 두 묶음의 숫자 카드가 있다고 하자. 각 묶음의 카드의 수를 A, B라 하면 보통 두 묶음을 합쳐서 하나로 만드는 데에는 A+B 번의 비교를 해야 한다. 이를테면, 20장의 숫자 카드 묶음과 30장 www.acmicpc.net #include #include #include using namespace std; priority_queue Cards; int main() { ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int N; cin >> N; for (int i = 0; i > Card; Cards.emplace(Card); } int Cnt = 0; for..
13305번: 주유소 표준 입력으로 다음 정보가 주어진다. 첫 번째 줄에는 도시의 개수를 나타내는 정수 N(2 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 인접한 두 도시를 연결하는 도로의 길이가 제일 왼쪽 도로부터 N-1 www.acmicpc.net #include #include using namespace std; vector City; int main() { ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int N; cin >> N; City.reserve(N); for (int i = 0; i > Distance; } City.empla..
1541번: 잃어버린 괄호 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 www.acmicpc.net #include #include #include using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); string Input; getline(cin, Input); // Split Two Set int SubtractIndex = Input.find('-'); string SumString = Input.substr(0, SubtractInde..
해당 게시물은 조진성 교수님의 '운영체제' 강의를 수강하며학습한 내용을 개인적으로 정리한 글입니다. 📌 목차 - 1장. OS 소개1-1. Introduction (1)1-2. Operating System Structures (2)📌 1-1. Introduction* 컴퓨터 - 컴퓨터 HW 위에 컴퓨터 SW가 수행되는 장치* 컴퓨터 HW란- CPU, MEMORY, I/O장치로 구성되어있는 장치* 컴퓨터 예시- Sever (Computer), Personal Computer, Embedded Computer/System* 운영체제 요약- 컴퓨터 HW 자원을 관리해주는 시스템- CPU, MEMORY, I/O장치 관리* PC OS- windows, linux, mac* Sever OS- unix(5년전까지..
해당 게시물은 이득우 교수님의 '꼭 배워야하는 게임 알고리즘' 강의를 수강하며 학습한 내용을 개인적으로 정리한 글입니다. 📌 목차 - 1장. 길찾기 알고리즘의 이해 1-1. A* 길찾기 알고리즘의 이해 1-2. A* 알고리즘 구현 1-3. A* 알고리즘 최적화 📌 1-1. A* 길찾기 알고리즘의 이해 * A* 알고리즘의 개발 - 1968년도 SRI(Standford Research Institute)에서 개발 - 모바일 자율 주행 로봇 Shakey 프로젝트의 일환으로 고안 * Dijkstra 알고리즘 - 1959년에 발표 - 그래프의 모든 경로를 탐색하고 최적의 경로를 계산 * A* 알고리즘 - Dijkstra 알고리즘에서 휴리스틱을 활용해 메모리 사용 및 검색 속도를 개선 - 휴리스틱(Heuristic..
11726번: 2×n 타일링 2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×5 크기의 직사각형을 채운 한 가지 방법의 예이다. www.acmicpc.net #include using namespace std; int DP[1001]; int main() { ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int N; cin >> N; DP[1] = 1; DP[2] = 2; for (int i = 3; i
9095번: 1, 2, 3 더하기 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다. www.acmicpc.net #include using namespace std; int DP[11]; int main() { ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); DP[0] = 0; DP[1] = 1; DP[2] = 2; DP[3] = 4; for (int i = 4; i > T; for (int i = 0; i > Number; cout
1003번: 피보나치 함수 각 테스트 케이스마다 0이 출력되는 횟수와 1이 출력되는 횟수를 공백으로 구분해서 출력한다. www.acmicpc.net #include using namespace std; pair DP[41]; int main() { ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); DP[0] = make_pair(1, 0); DP[1] = make_pair(0, 1); for (int i = 2; i > T..
해당 게시물은 쥬신게임아카데미의 '2개월차 C++' 강의를 수강하며 학습한 내용을 개인적으로 정리한 글입니다. 📌 목차 - 2. C++ 기본 1. 클래스 2. 생성자, 소멸자, 전방선언 3. 복사생성자 4. const, static, this, extern, friend 5. 상속, 다형성 6. 캐스팅, 가상함수테이블, 바인딩 7. 순수가상함수, 연산자오버로딩 8. 인라인함수, 임시객체, 함수객체 9. 템플릿 10. STL개요 11. vector 12. list 13. map 14. 알고리즘함수 📌 1. 클래스 변수와 함수를 하나로 묶어 놓은 하나의 틀 instance: 메모리에 등록된 클래스, 하나의 객체 멤버접근지정자: private, public, protected 속성: 은닉화, 캡슐화, 상속성,..