Archive: 2018

0

합병 정렬(Merge sort)

#들어가기이번 포스팅에서는 합병 정렬(merge sort)에 대해 알아보겠습니다. #합병 정렬(merge sort)합병 정렬(merge sort)은 분할 정복법을 활용한 sort 방법입니다. 분할 정복법은 익히 들어본바와 같이 다음과 같습니다. 분할 : 해결하고자 하는 문제를 작은 크기의 동일한 문제들로 분할 정복 : 각각의 작은 문제를 순환적으로 해결

0

백준[1325] - 효율적인 해킹

문제백준 1325 문제 보기 접근 방법각 컴퓨터들은 연결된 그래프로 표현할 수 있다. 즉, 연결된 그래프 관계에서 최대 깊이 값을 찾아 정답을 출력하면 된다. 코드#include <iostream> #include <vector> #include <cstring> #include <algorithm> using namespace std;

0

State Pattern(스테이트 패턴)

들어가기이번 포스팅에서는 스테이트 패턴(State Pattern)에 대해서 알아보겠습니다. 본론스테이트 패턴(State Pattern)을 이용하면 객체의 내부 상태가 바뀜에 따라서 객체의 행동을 바꿀 수 있습니다. 마치 객체의 클래스가 바뀌는 것과 같은 결과를 얻을 수 있습니다. 하나의 예시로 형광들을 만들어 보겠습니다. 형광등을 만들려면 우선 형광등의 행

0

백준[15685] - 드래곤 커브

문제백준 15685 문제 보기 접근 방법구현 문제로 주어진 조건을 잘 코드로 만들면 된다. 핵심은 이전 세대의 진행 방향의 역순을 취하여 새로운 방향을 만드는데 있다. 코드#include <iostream> #include <vector> using namespace std; int map[101][101]; int N, x, y, d, g;

0

백준[2573] - 빙산

문제백준 2573 문제 보기 접근 방법빙산을 주변으로 4방향을 검사한 뒤 각 면이 몇개의 바다에 둘러 쌓여 있는지 모두 확인한다. 그리고 완전 탐색을 이용해 빙산이 분리됐는지 체크한다. 코드#include <iostream> #include <vector> #include <cstring> using namespace std; int r,

0

백준[2589] - 보물섬

문제백준 2589 문제 보기 접근 방법모든 땅에서 bfs를 진행하고 그 중에서 가장 큰 값을 찾는다. 코드#include <iostream> #include <algorithm> #include <cstring> #include <queue> using namespace std; struct location { int r;