[백준][3190] 뱀
이 포스트는 백준 사이트의 뱀 문제 풀이입니다. 문제 해결 과정 문제의 설명처럼 1칸 크기의 뱀이 이동하면서 사과를 먹으면 길어지고 벽 혹은 길어진 자기 자신에게 부딪혔을 때, 시간을 구하는 문제입니다. 따라서 1초간 뱀의 행동을 정리하면 다음과 같습니다. 몸의 길이를 늘려 머리 를 다음 칸에 위치 시킨다. 벽 혹은 자기 자...
이 포스트는 백준 사이트의 뱀 문제 풀이입니다. 문제 해결 과정 문제의 설명처럼 1칸 크기의 뱀이 이동하면서 사과를 먹으면 길어지고 벽 혹은 길어진 자기 자신에게 부딪혔을 때, 시간을 구하는 문제입니다. 따라서 1초간 뱀의 행동을 정리하면 다음과 같습니다. 몸의 길이를 늘려 머리 를 다음 칸에 위치 시킨다. 벽 혹은 자기 자...
이 포스트는 백준 사이트의 2048(Easy) 문제 풀이입니다. 문제 해결 과정 이 문제는 2048 게임의 규칙을 가져오지만 몇 가지 규칙이 더 추가되었습니다. 블록을 이동해도 새로운 블록이 추가되지 않습니다. 최대 5번까지 이동할 수 있습니다. 위 조건에 따라 주어진 보드를 5번까지 이동시켜 만들 수 있는 최댓값을 출력...
이 포스트는 백준 사이트의 테트로미노 문제 풀이입니다. 문제 해결 과정 문제를 풀기 전 먼저 전체 과정을 어떻게 해결할지 순서를 정했습니다. 입력 탐색 위치 유효성 확인 (테트로미노인지 확인) 최댓값 갱신 각 과정을 모두 함수로 분리하고 전역 변수는 최소한으로 하기 위해 1~4 번 함수 모두가 사용하는 변수만 전...
코딩테스트 연습 - 이중우선순위큐 문제 바로가기 문제 설명 이 문제의 핵심은 최솟값과 최댓값을 실시간으로 제거할 수 있는지 입니다. 큐를 그대로 사용할 경우, C++ 에서 최대힙을 사용하기 때문에 최댓값은 바로 구할 수 있지만 최솟값은 삽입 시 -1 을 곱해야 빠르게 구할 수 있습니다. 따라서 이 문제점을 개선하고자 중복이 가능하고 실시...
자료형을 변환할 때, C 언어는 암시적 형변환과 명시적 형변환 2가지가 존재합니다. 간략하게 설명하면 암시적 형변환은 컴파일러가 대신 수행하는 형변환이고 명시적 형변환은 반대로 프로그래머가 직접 형변환을 수행하는 것입니다. int i_num = 3.14; // 암시적 double d_num_01 = double(i_...
코딩테스트 연습 - 전력망을 둘로 나누기 문제 바로가기 문제 설명 전체 전력망을 2개의 전력망으로 나눴을 때, 두 전력망(그래프)의 노드 개수 차이가 가장 최소가 되는 값을 반환해야 합니다. 따라서 그래프에 이어진 노드 개수 를 빠르게 파악하는 것이 중요하기 때문에 그래프 탐색 중 너비 우선 탐색(BFS)를 사용했습니다. 그리고 전력...
자료형을 변환할 때, C 언어는 암시적 형변환과 명시적 형변환 2가지가 존재합니다. 간략하게 설명하면 암시적 형변환은 컴파일러가 대신 수행하는 형변환이고 명시적 형변환은 반대로 프로그래머가 직접 형변환을 수행하는 것입니다. int i_num = 3.14; // 암시적 double d_num_01 = double(i_...
백준의 Sort 마스터 배지훈의 후계자라는 문제는 정렬과 탐색으로 간단히 풀 수 있는 문제였습니다. 저는 algorithm 라이브러리의 sort, find 함수를 통해 문제를 풀고자 하였습니다. 첫 번째 시도 (실패) #include <iostream> #include <algorithm> using namespace s...
코딩테스트 연습 - 퍼즐 게임 챌린지 문제 바로가기 문제 설명 해결 방법 숙련도의 최솟값을 찾아야 하므로 탐색 알고리즘을 이용하고자 하였습니다. 처음 사용한 탐색 알고리즘은 순차 탐색이였습니다. 순차 탐색은 \(O(N)\) 이라는 시간 복잡도를 갖지만, diffs 의 원소는 100’000 이하이므로 제한 시간 내 풀이가 가능하다고 ...
그래프는 다른 포스트에서 설명했던 트리처럼 노드와 간선을 사용하는 자료구조입니다. 그러나 트리와 전혀 다른 자료구조로 몇 가지 명확한 차이점이 존재합니다. 따라서 이번 포스트에서는 그래프가 무엇이고 그래프의 특징은 무엇이 있으며, 어디에서 사용하는지 알아보겠습니다. 그래프 (Graph) 그래프는 노드(Node, 혹은 버텍스(Vertex))와 ...