2025/01/02 2

[프로그래머스] 표현 가능한 이진트리 (c++)

출처 : https://school.programmers.co.kr/learn/courses/30/lessons/150367# 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 풀이 방법문제를 이해한다. 트리에서 중위순회를 통해 빈 노드는 0, 존재하는 노드는 1로 표현된다는 것을 알 수 있다. 또한, 문제의 예시에서 7과 42가 같은 트리로 표현되며, 42는 생략된 노드가 많아 이러한 표현이 가능하다는 점을 이해한다. 문제 풀이 방법 1. 10진수를 2진수로 변환한다. 2. 2진수를 완전 이진트리로 변경할 수 있도록 부족한 노드 수만큼 앞에 0을 추가한다. 2진수에 생략된 0을 추가하는 과정 완전 이진트..

Algorithm 2025.01.02

[백준] 아~파트 아파트 31797번 (c++)

출처 : https://www.acmicpc.net/problem/31797 풀이 방법이 문제를 풀며 실제 아파트 게임과 다른 점은 중간에 빈 층도 있다는 것이다.이 부분을 고려하지 못해 문제를 틀렸다.증간에 빈 층을 처리해 주기 위해 hand [i] == 0인 경우 층수를 update 하지 않았다. 또한 참가자의 손 수는 M*2이므로 M*2보다 큰 경우 N % (M*2)를 해주면 된다. 만약 해당 값이 0이라면 마지막 층인 M*2로 구해주면 된다. #include using namespace std;int n, m;int hand[10001];int main() { cin >> n >> m; // n = 층수, m = 참가자 수 int idx = n % (m * 2); if (i..

Algorithm 2025.01.02