Category: problems

0

백준[1780] - 종이의 개수

문제백준 1780 문제 보기 접근 방법분할 정복으로 풀리는 문제이다. 처음 받은 정사각형을 검사한 뒤 다른 숫자가 있으면 9분할하여 다시 검사를 진행한다. -1은 배열에 잡히지 않으므로 모든 값은 +를 해줘 0, 1, 2 형태로 검사한다. 코드#include <iostream> #include <cstring> using namespace

0

백준[13460] - 구슬 탈출 2

문제백준 13460 문제 보기 접근 방법코드를 줄이는 습관을 들여야겠다. 문제는 모든 방향에 대해서 10번을 수행한뒤 안되면 -1을 출력하면 된다. 노드 구조체를 만들어 빨간색, 파란색 구슬을 관리한다. 각 방향 별로 구슬을 벽까지 이동시키고 빨간 구슬과 파란 구슬의 위치를 봐서 상관 관계를 구현한다. 파란 구슬과 빨간 구슬이 동시에 들어갔을 경우를 예외

0

백준[3190] - 뱀

문제백준 3190 문제 보기 접근 방법시뮬레이션을 하는 문제이므로 문제에 쓰인 조건대로 진행하면 된다. 뱀의 위치 정보, 시간, 현재 방향을 저장하는 뱀 구조체와 바뀌는 방향 정보를 담는 구조체 배열을 만들어 관리한다. 뱀의 몸통 정보는 배열보다는 헤드와 테일에 지속적인 삽입으로 벡터로 선언한다. change_dir으로 현재 방향 기준 어떻게 방향을 바

0

백준[1074] - Z

문제백준 1074 문제 보기 접근 방법일일이 (0,0)부터 좌표를 찍는 순으로 접근하면 시간 초과를 유발한다. 따라서 좌표가 어느 위치에 있는지 확인한 뒤 해당 분면까지 계산한다. 또 다시 분할된 좌표를 기준으로 계산한다. 코드#include <iostream> using namespace std; int power2(int k) { //

0

백준[2263] - 트리의 순회

문제백준 2263 문제 보기 접근 방법분할 정복 방식으로 문제를 풀수 있다. PostOrder에서 루트 값을 찾아내고 InOrder를 사용해 왼쪽, 오른쪽 자식이 몇개씩 있는지 찾아 분할 정복한다. 코드#include <iostream> using namespace std; int N; int inO[100000]; int postO[100000

0

백준[10816] - 숫자 카드2

문제백준 10816 문제 보기 접근 방법숫자를 입력 받음과 동시에 인덱스 정보로 활용해 갯수를 저장한다. 음수 같은 경우는 양수의 최대 범위 이후로 인덱스를 설정해 저장한다. 코드#include <iostream> #include <cstring> using namespace std; int N, M; int arr[20000001]; i