반응형 Algorithm7 [BOJ12865] 평범한 배낭 [BOJ12865] 평범한 배낭 문제 링크 BOJ12865 - 평범한 배낭 문제 설명 N(1 2022. 3. 16. [Leetcode543] Diameter of Binary Tree [Leetcode543] Diameter of Binary Tree 문제 링크 Leetcode Diameter of Binary Tree 문제 설명 트리를 이루는 임의의 두 노드 간 거리의 최대값을 구하는 문제였다. 임의의 두 노드 간 거리가 최대가 되는 경우, 루트를 지나지 않는 경로가 존재할 수 있다. 노드의 갯수는 최소 1개 부터 최대 10000(만)개까지 입력으로 주어진다. 풀이 설명 먼저 루트 노드를 기준으로 생각해보면, 루트 노드를 지나는 경로의 최대 거리 = 루트에서 가장 먼 왼쪽 서브 트리 내의 노드에서 루트까지의 경로 + 루트에서 가장 먼 오른쪽 서브 트리 내의 노드에서 루트까지의 경로 이다. 루트에서 가장 먼 왼쪽 서브 트리 내의 노드에서 루트까지의 경로는 다시 왼쪽 자식 노드를 루트로.. 2021. 12. 9. [BOJ1918] 후위 표기식 [BOJ1918] 후위 표기식 문제 링크 BOJ1918 - 후위 표기식 문제 설명 중위 표기식 형태로 입력이 주어진다. 연산자의 우선순위를 고려하여 후위표기식으로 변환하여 출력한다. 풀이 설명 입력으로 주어진 수식을 순회하면서 현재 순회중인 문자가 연산자인 경우, 피연산자인 경우, 괄호인 경우에 따라서 조건을 분리하여 문제를 해결했다. 연산의 우선순위는 괄호 안, 곱셉/나눗셈, 덧셈/뺄셈 순으로 높다. 우선순위를 반환하는 Priority함수를 작성하여 사용했다. 피연산자(A~Z)는 순서가 변동되는 일이 없으니 그대로 출력할 Answer에 붙인다. 연산자와 여는 괄호(는 스택에 담는다. 순회하면서 닫는 괄호)를 만나면 여는 괄호( 이후에 스택에 삽입된 연산자를 모두 Answer에 부착하고, 스택에서는 제거.. 2021. 12. 6. [BOJ17299] 오등큰수 [BOJ17299] 오등큰수 문제 링크 BOJ17299 - 오등큰수 문제 설명 N개의 원소로 이루어진 수열이 주어진다. 수열의 각 원소를 기준으로 오른쪽에 있는 원소 중에 기준이 되는 원소보다 수열에 등장한 빈도 수가 높은 원소가 있다면 빈도 수가 높은 그 원소를, 없다면 -1을 출력한다. 수열을 이루는 원소의 갯수를 의미하는 N은 최대 백만(106), 원소의 크기의 범위는 1에서 백만이다. 풀이 설명 BOJ17298 오큰수와 풀이가 매우 유사하지만, 각 원소가 등장하는 빈도 수를 담고 있는 배열 Count를 만들어서 빈도 수를 비교하였다. 또한 Count배열의 인덱스는 입력으로 주어진 수열의 원소를 의미하기 때문에 특정 원소의 빈도 수를 참조하는 경우에는 Count[A[i]]로 참조했다. 오큰수 문제와.. 2021. 11. 19. 이전 1 2 다음 반응형