23.07.13 파이썬 코딩 퀴즈#264 1,2,3 떨어트리기(프로그래머스 스쿨)
이번 문제는 1,2,3 떨어트리기 문제이다. 설명이 굉장히 길다. 즉, 문제가 그냥 평범한 로직 문제가 아니기에, 반드시 설명을 잘 읽고 규칙에 따라 진행해야 한다. 모든 부모 노드는 자식 노드와 연결된 간선 중 하나를 길로 설정하게 된다. 위 그림에서는 실선은 길인 간선이고, 점선은 아니다. 또한 모든 부모 노드는 자신의 자식 노드 중 가장 번호가 작은 노드를 가리키는 간선을 초기 길로 설정한다. 즉 위 그림의 1번 노드는 2,3 번 자식노드를 가지고 있으며 이 때 초기에 설정된 길은 2번 노드이다. 자 이제 게임의 규칙을 살펴보자. 1. 1번 노드(루트 노드)에 숫자 1,2,3중 하나를 떨어트립니다. 2. 숫자는 길인 간선을 따라 리프 노드(마지막 자식노드) 까지 떨어집니다. 3. 숫자가 리프 노드에..
23.07.01 파이썬 코딩 퀴즈#260 매출 하락 최소화 (프로그래머스 스쿨)
이번 문제는 매출 하락 최소화 문제이다. 카카오 그룹 채용 관련 문제라는게 문제 설명에서 부터 느껴진다. 먼저 그림을 살펴보면 1. 각 원들은 직원 1명을 의미하며, 두개의 숫자는 (직원번호, 하루평균 매출액)을 의미하게 된다. 2. CEO 를 포함하는 모든 직원은 팀장 또는 팀원이라는 직위를 가지고 있으며, 위 그림에서는 관계도를 화살표로 나타내고 있다. 즉, 화살표가 시작되는 쪽은 팀장, 화살표를 받는 직원은 팀원을 의미한다. 2 -1 1번 직원은 화살표를 받지 않고 주기만 하기 때문에 CEO라 볼 수 있다. 즉, 팀장이다 2-2 7,4,6,8,2 번 직원은 화살표를 주지 않고 받기만 하기 때문에 팀원으로만 존재한다. 2-3 9, 5, 10번 직원은 화살표를 받음과 동시에 주기도 하기 때문에 어느팀의..
23.06.29 파이썬 코딩 퀴즈#259 트리 트리오 중간값(프로그래머스 스쿨)
이번 문제는 트리 트리오 중간값 문제이다. 주어진 n개의 점으로 이루어진 트리가 존재하면, 이 때 다음과 같은 것들을 정의한다. 1. 어떤 두 점 사이의 거리는 두 점을 잇는 경로 상 간선의 개수로 정의한다. 2. 임의의 3개의 점 a,b,c 에 대한 함수 f(a,b,c) = a와 b의 거리, b와 c의 거리, c와 a의 거리, 3값의 중간 값으로 정의한다. 이때 모든 f(a,b,c)에 대하여 가장 큰 값을 구해 return 하는 함수를 작성하시오. 입출력 예를 살펴보자. 입출력 예 1번을 그림으로 그리면 위와 같다. 이때 순서가 틀린 경우는 f 값이 동일하기 때문에 제외하면 f는 총 4개가 나온다. 이 때 각 f(a,b,c)의 값들을 나열하면, [1, 1, 2], [1,2,3], [2,1,3], [1,..