1. 문제 SWEA_1248_공통조상 2. 풀이 이 문제는 두 가지를 요구합니다. 이진트리를 구성할 수 있는가? 임의의 두 정점에 대해 최소 공통조상을 구할 수 있는가? 아시다시피 이진트리의 부모노드 인덱스가 N일 때, 왼쪽 자식 인덱스는 2*N이고 오른쪽 자식 인덱스는 2*N+1입니다. 이 특성을 이용해 배열로 이진트리를 많이 구성을 하는데, 이 문제는 입력으로 들어오는 간선의 순서가 무작위인데다가 부모 정점이 자식 정점보다 항상 번호가 작은 것은 아니라는 조건까지 걸려 있습니다. (입력이 이렇게 들어오는게 조금 더 현실적인 거 같긴 합니다.. 😅 ) 따라서, 연결 리스트 형태로 작성해야 합니다. 저는 아래와 같이 부모, 자식 번호를 담을 변수를 둔 Node라는 클래스를 두었습니다. class Node..
문제 SWEA의 문제를 무단으로 복제하는 것은 금지입니다. 따라서, 링크를 달아두겠습니다. ----> SWEA_1242_암호코드 스캔 풀이 문제의 몇 가지 포인트는 다음과 같습니다. 암호코드는 8개의 숫자다. 입력이 16진수로 들어온다. (16진수 --> 2진수 변환필요) 각 수(0~9)들은 0 1 0 1 순의 비율로 결정된다. ex) 5는 1:2:3:1 비율의 0 1 0 1 값이다. 0110001 위 3번의 비율이 1배수가 아닐 수도 있다. ex) 위 5의 비율을 2배수로 표현하면 00111100000011 이다. 암호코드가 여러 개 주어진다. (한 행에 여러 개의 암호코드가 있을 수 있다.) 해당 문제의 구현에서 어려운 부분은 4, 5번이라고 생각하기에 해당 부분만 설명하겠습니다. 먼저, 각 수(0~..
문제 SWEA의 문제를 무단 복제하는 것은 금지되어 있으므로, 아래 문제 링크를 남깁니다. https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV141J8KAIcCFAYD SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 요약하면, 이진 트리로 구성된 계산식을 계산하라는 문제다. 풀이 해당 문제는 크게 두 가지의 요구사항을 가진다. 이진 트리를 구성할 수 있는가? 이진 트리를 탐색(순회)할 수 있는가? 필자는 BinaryTree 클래스를 만들어 메서드를 구현하였다. 코드 import java.io.BufferedReader; ..
문제 SWEA의 문제를 무단 복제 하는 것은 금지라 링크를 남긴다. https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV140YnqAIECFAYD&categoryId=AV140YnqAIECFAYD&categoryType=CODE&&& SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 요약하면, 입력으로 노드 값을 받아 완전 이진 트리를 구성하여, 중위 순회를 하여 출력하는 문제다. 풀이 완전 이진 트리의 값이 차례대로 입력으로 들어오기 때문에 인덱스 그대로 배열에 담아 inorder() 메서드로 간단히 풀 수도 있었겠..