Category: problems

0

백준[1783] - 병든 나이트

문제백준 1783 문제 보기 접근 방법맵의 높이가 1일 때와 2일 때를 먼저 예외처리한다. 맵의 높이가 2일 때, 이동 횟수가 4이상이 되면 모든 경우의 이동을 수행해야 하므로 이동을 3번 이내로 제한한다. 맵의 높이가 2보다 클 경우는 너비를 신경써서 예외처리한다. 4가지 경우를 다 해보면 움직일수 있는 최대 너비가 7이 된다. 이후 접근해야하는 너

0

백준[1744] - 수 묶기

문제백준 1744 문제 보기 접근 방법음수와 양수를 따로 구분해 오름 차순, 내림 차순으로 정렬한 뒤, 2개씩 묶으면 정답 출력이 가능하다.하지만, 2가지 주의해야할 사항이 있는데 1은 묶는 것 보다 더하는게 더 이득. (2 * 1 < 2 + 1) 음수 영역에 숫자가 하나 남고 0이 있는 경우 예외 처리 이 두 가지 경우를 따로 처리해야 한다. 코

0

백준[1931] - 회의실 배정

문제백준 1931 문제 보기 접근 방법회의실을 끝나는 시간을 기준으로 오름 차순 정렬을 한다. 끝나는 시간이 빠른 순으로 회의실을 배정하면 정답이 출력. 코드#include <iostream> #include <algorithm> using namespace std; struct Time { int start, end; }; in

0

백준[11725] - 트리의 부모 찾기

문제백준 11725 문제 보기 접근 방법bfs를 통해 부모를 찾아 저장하면 정답을 출력할 수 있다. 입력시 양방향을 다 고려해야 하는 것에 주의. 코드#include <iostream> #include <queue> using namespace std; int N; int parents[100001]; int visited[100001];

0

백준[9466] - 텀 프로젝트

문제백준 9466 문제 보기 접근 방법시간 초과가 나기때문에 dfs를 돌지만 한 번 방문한 노드는 다시 방문하면 안된다. 한 번 방문을 체크할 때 사이클의 여부 역시 같이 판단해야한다. 사이클이 존재하면 사이클이 시작되는 노드를 저장하고 이후 계산을 통해 정답을 구한다.1 시간 가량 계속 문제가 없는것 같았는데 ‘틀렸습니다’가 나와 삽질했지만 원인은 벡터를

0

백준[7576] - 토마토

문제백준 7576 문제 보기 접근 방법bfs 완전 탐색을 이용해 토마토의 위치 값과 bfs의 실행 수를 저장하면 정답을 출력할 수 있다. 정답 출력 과정에서는 익지 않은 토마토가 있다면 무조건 -1을 출력하면 된다. 코드#include <iostream> #include <cstring> #include <queue> #include