Typidoyun

[C++ / Algorithm] 무한한 평면과 점 사이의 거리 #24

1. 평면의 방정식 평면의 방정식은 3차원 공간에 존재하는 평면을 나타내는 방정식입니다. $_ ax + by + cz + d = 0 _$ 평면의 방정식의 특징은 그라디언트가 법선 방향을 가르킨다는 것입니다. 이 이유는 그라디언트의 정의를 이해하면 그 이유를 쉽게 알 수 있습니다. 그라디언트는 공간에서 값이 커지는 방향을 가르킨다는 특...

[C++ / Design Pattern] 디자인 패턴이란? #1

1. 디자인 패턴이란? 디자인 패턴은 소프트웨어 디자인 과정에서 발생하는 문제들을 해결하기 위한 방법들을 모아서 부르는 말입니다. 디자인 패턴을 사용하면 불필요한 코드 또는 복잡한 코드를 없애거나 줄일 수 있습니다. 디자인 패턴을 알고리즘과 자주 혼동하지만 알고리즘은 문제 해결을 위한 순차적 절차라면 디자인 패턴은 코드의 구조와 작성을 더 효율적으로...

[C++ / Algorithm] 백준 28127번 숫자탑과 쿼리 #22

1. 트리 1-1. 문제 의찬이는 숫자가 적힌 블록으로 탑 쌓기를 즐긴다. 어느 날 선우는 의찬이가 쌓는 탑에 규칙이 있음을 알게 되었다! 선우가 알아낸 규칙은 다음과 같다. 의찬이가 쌓는 탑은 꼭대기가 1층이고, 1층에는 a개의 블록이 존재한다. 1층의 가장 왼쪽 블록에는 1이 적혀있으며, 블록에 적힌 숫자는 오른쪽으로 갈수록 1씩 증...

[C++ / Algorithm] 백준 13306번 트리 #21

1. 트리 1-1. 문제 트리 T는 아래 그림 1과 같은 구조를 가지고 있으며 원은 ‘정점’이라 하고, 정점과 정점을 연결하는 선을 ‘에지’라 한다. 특히 가장 위에 위치한 정점을 ‘루트’라 하는데 오직 하나만 있다. N개의 정점들은 숫자 1부터 N으로 표현하고 루트는 항상 1이다. 두 정점 v와 w를 연결하는 경로는 정점들의 순서리스트 (v0,...