본문 바로가기

분류 전체보기

(109)
[C++] 백준 1967번: 트리의 지름 1967번: 트리의 지름 파일의 첫 번째 줄은 노드의 개수 n(1 ≤ n ≤ 10,000)이다. 둘째 줄부터 n-1개의 줄에 각 간선에 대한 정보가 들어온다. 간선에 대한 정보는 세 개의 정수로 이루어져 있다. 첫 번째 정수는 간선이 연 www.acmicpc.net 이전에 풀었던 같은 이름의 문제(https://www.acmicpc.net/problem/1167)와 많이 유사한 문제다. 이 문제를 풀려고 오랫동안 고민했지만 풀이가 떠오르지 않아서 다음 블로그를 참고했다. https://lmcoa15.tistory.com/56 백준 1967번 - 트리의 지름 https://www.acmicpc.net/problem/1967 트리의 개념을 이해한 뒤에 DFS를 이용하여 문제를 해결하면 된다. 정답률이 40프..
[C++] 백준 1865번: 웜홀 1865번: 웜홀 첫 번째 줄에는 테스트케이스의 개수 TC(1 ≤ TC ≤ 5)가 주어진다. 그리고 두 번째 줄부터 TC개의 테스트케이스가 차례로 주어지는데 각 테스트케이스의 첫 번째 줄에는 지점의 수 N(1 ≤ N ≤ 500), www.acmicpc.net 음의 가중치를 갖는 그래프에서 최단거리를 계산하는 문제다. 알고리즘 분류는 벨만-포드라고 되어 있지만, 플로이드-와샬을 이용해 문제를 풀었다. 아마 시간복잡도는 비슷하지만 코드는 훨씬 간결할 것이다. 플로이드-와샬 알고리즘에 대한 설명은 다음 블로그를 참고했다. 24. 플로이드 와샬(Floyd Warshall) 알고리즘 지난 시간에는 다익스트라(Dijkstra) 알고리즘에 대해 학습했습니다. 다익스트라 알고리즘은 하나의 정점... blog.naver..
[C++] 백준 2263번: 트리의 순회 2263번: 트리의 순회 첫째 줄에 n(1≤n≤100,000)이 주어진다. 다음 줄에는 인오더를 나타내는 n개의 자연수가 주어지고, 그 다음 줄에는 같은 식으로 포스트오더가 주어진다. www.acmicpc.net 지난 1학기 자료구조 중간고사에서 유사한 문제가 출제 됐었다. in-order와 post-order를 주고 이를 만족하는 트리 그리기였나 그랬다. 하지만 충분한 시간 동안 고민해 본 결과, 어떻게 풀어야 할 지 몰라서 다음 블로그를 참고했다. 백준 2263번 트리의 순회 문제 링크입니다: https://www.acmicpc.net/problem/2263 직접 트리를 그려본 다음에 유도를 해보는 것이 제일 적절한 해법인 것 같습니다. 후위 순회를 기준으로 생각해보면 맨 마지막에 위치한 노드가 ja..
[C++] 백준 1918번: 후위 표기식 1918번: 후위 표기식 첫째 줄에 중위 표기식이 주어진다. 단 이 수식의 피연산자는 A~Z의 문자로 이루어지며 수식에서 한 번씩만 등장한다. 그리고 -A+B와 같이 -가 가장 앞에 오거나 AB와 같이 *가 생략되는 등의 수식 www.acmicpc.net 지난 1학기에 자료구조 수업에서 스택을 배우면서 같이 배웠던 내용이다. 강의자료 PDF를 다시 열어 참고했다. 위에 설명된대로 코드를 작성하면 AC를 받는다. 나는 첫 번째 제출에서 오타가 생겨서 한 번 더 시도해서 AC를 받았다. #include using namespace std; #define TC(T) int T; cin >> T; while(T--) #define FAST_IO cin.tie(NULL); ios::sync_with_stdio(f..
[C++] 백준 16928번: 뱀과 사다리 게임 16928번: 뱀과 사다리 게임 첫째 줄에 게임판에 있는 사다리의 수 N(1 ≤ N ≤ 15)과 뱀의 수 M(1 ≤ M ≤ 15)이 주어진다. 둘째 줄부터 N개의 줄에는 사다리의 정보를 의미하는 x, y (x < y)가 주어진다. x번 칸에 도착하면, y번 칸으 www.acmicpc.net 풀이과정 오답: 틀렸습니다. (22%) 1. 크기가 100인 int 배열 step을 정의한다. 여기에는 각 위치에 도달하기까지 최소 횟수가 저장된다. 2. 재귀함수를 이용하여 모든 경우를 탐색한다. 2-1. 위치 1부터 시작하여, 6칸 이내에 있는 사다리와 뱀을 타고 각각 이동하고 그 위치에서 6칸을 이동한다. 2-2. 만약 새로 이동할 위치에 해당하는 step 배열 값이 현재의 step에 1을 더한 값보다 작다면 이..
한컴오피스 한글 단축키 정리 군대에서 상황병하며 익혀뒀던 단축키들... 주로 많이 쓰는 단축키 위주로 정리해봤다. ※ 폴라리스 오피스 한글에서도 대부분의 단축키가 동일하다. 범용 단축키 Ctrl + B 볼드체(Bold) Ctrl + I 이탤릭체(Italic) Ctrl + U 밑줄(Underline) Ctrl + 방향키 한 어절씩 커서 이동 Shift + Ctrl + 방향키 한 어절씩 선택 Shift + Ctrl + HOME 커서부터 해당 줄 맨 앞까지 선택 Shift + Ctrl + END 커서부터 해당 줄 맨 뒤까지 선택 전용 단축키 글자 관련 Alt + Shift + E 글자 크기 키우기 Alt + Shift + R 글자 크기 줄이기 Alt + Shift + W 자간 넓히기(Wide) Alt + Shift + N 자간 좁히기(N..
[C++] 백준 2206번: 벽 부수고 이동하기 풀이 과정 오답: 시간초과(2%) 더보기 #include using namespace std; #define TC(T) int T; cin >> T; while(T--) #define FAST_IO cin.tie(NULL); ios::sync_with_stdio(false); #define FOR(i, N) for(int i = 0; i > N >> M; vec..
[C++] 매크로에서 반복문 조건이 작동하는 방식 C++에서는 다음과 같이 매크로를 사용할 수 있다. #include #define FOR(i, N) for(int i = 0; i < N; ++i) using namespace std; int main() { FOR(i, 10) cout