알고리즘/programmers 279

[Programmers] 음양 더하기

문제 링크입니다: https://programmers.co.kr/learn/courses/30/lessons/76501 코딩테스트 연습 - 음양 더하기 어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 re programmers.co.kr 간단한 구현 문제였습니다. 개발환경:Visual Studio 2017 지적, 조언, 질문 환영입니다! 댓글 남겨주세요~

[Programmers 위클리 챌린지 9주차] 전력망을 둘로 나누기

문제 링크입니다: https://programmers.co.kr/learn/courses/30/lessons/86971 코딩테스트 연습 - 9주차 9 [[1,3],[2,3],[3,4],[4,5],[4,6],[4,7],[7,8],[7,9]] 3 7 [[1,2],[2,7],[3,7],[3,4],[4,5],[6,7]] 1 programmers.co.kr 정점이 최대 100인 트리이므로 간선의 개수는 최대 99개입니다. 따라서, 각각의 간선을 제거해보는 완전 탐색법으로 충분히 풀 수 있는 문제였습니다. 개발환경:Visual Studio 2017 지적, 조언, 질문 환영입니다! 댓글 남겨주세요~

[Programmers] 트리 트리오 중간값

문제 링크입니다: https://programmers.co.kr/learn/courses/30/lessons/68937 코딩테스트 연습 - 트리 트리오 중간값 5 [[1,5],[2,5],[3,5],[4,5]] 2 programmers.co.kr 트리의 지름을 구하는 문제를 응용하는 문제였습니다. (https://jaimemin.tistory.com/812) 알고리즘은 아래와 같습니다. 1. 1번 노드를 기준으로 제일 멀리 있는 노드를 찾습니다. 2. 1번에서 구한 노드를 기준으로 제일 멀리 있는 노드를 찾습니다 즉, 트리의 지름을 찾습니다. 2.1 제일 멀리 있는 노드들이 여러 개일 경우 중간값이 트리의 지름이므로 트리의 지름을 반환해줍니다. 3. 2번에서 구한 노드 개수가 하나일 경우 한번 더 트리의 ..

[Programmers] 스타 수열

문제 링크입니다: https://programmers.co.kr/learn/courses/30/lessons/70130 코딩테스트 연습 - 스타 수열 programmers.co.kr 문제의 조건대로 풀면 되는 문제였습니다. 알고리즘은 아래와 같습니다. 1. 우선 주어진 a 내 등장한 숫자와 해당 숫자가 몇 개 나왔는지를 파악합니다. 2. 이후 문제의 조건대로 스타 수열의 길이를 구해줍니다. 2.1 "{x[0], x[1]}, {x[2], x[3]}, ..., {x[2n-2], x[2n-1]} 의 교집합의 원소의 개수가 1 이상입니다."이므로 1번에서 구한 a 내 등장한 숫자를 순서대로 순회하면서 a 내 등장한 숫자가 {a[j], a[j+1]} 집합 내 등장하는지 확인합니다. 2.2 "x[0] != x[1]..

[Programmers] 풍선 터트리기

문제 링크입니다: https://programmers.co.kr/learn/courses/30/lessons/68646 코딩테스트 연습 - 풍선 터트리기 [-16,27,65,-2,58,-92,-71,-68,-61,-33] 6 programmers.co.kr 그리디 하게 생각해야 하는 알고리즘이었습니다. 알고리즘은 아래와 같습니다. 1. 문제 조건 중 "인접한 두 풍선 중에서 번호가 더 작은 풍선을 터트리는 행위는 최대 1번만 할 수 있습니다."라는 조건이 있습니다. 1.1 따라서, 양 쪽 끝 풍선은 어떠한 경우에도 터트릴 수가 있습니다. 2. 1번부터 n-1번 풍선까지는 왼쪽 구간의 최솟값 혹은 오른쪽 구간의 최솟값보다 작을 경우 터트릴 수 있습니다. 2.1 1번의 조건에 의하면 왼쪽 구간의 최소값보다 ..

[Programmers] 쿼드압축 후 개수 세기

문제 링크입니다: https://programmers.co.kr/learn/courses/30/lessons/68936 코딩테스트 연습 - 쿼드압축 후 개수 세기 [[1,1,0,0],[1,0,0,0],[1,0,0,1],[1,1,1,1]] [4,9] [[1,1,1,1,1,1,1,1],[0,1,1,1,1,1,1,1],[0,0,0,0,1,1,1,1],[0,1,0,0,1,1,1,1],[0,0,0,0,0,0,1,1],[0,0,0,0,0,0,0,1],[0,0,0,0,1,0,0,1],[0,0,0,0,1,1,1,1]] [10,15] programmers.co.kr 재귀함수를 통해 간단히 풀 수 있는 문제였습니다. 개발환경:Visual Studio 2017 지적, 조언, 질문 환영입니다! 댓글 남겨주세요~

[Programmers] 삼각 달팽이

문제 링크입니다: https://programmers.co.kr/learn/courses/30/lessons/68645 코딩테스트 연습 - 삼각 달팽이 5 [1,2,12,3,13,11,4,14,15,10,5,6,7,8,9] 6 [1,2,15,3,16,14,4,17,21,13,5,18,19,20,12,6,7,8,9,10,11] programmers.co.kr 규칙을 보면 n * (n + 1) / 2 즉, 1부터 n까지 더했을 때의 값이 삼각 달팽이의 마지막 숫자입니다. 따라서, 마지막 숫자를 입력할 때까지 회전을 시킨 뒤 answer 벡터에 순서대로 숫자를 넣어주면 되는 문제였습니다. 개발환경:Visual Studio 2017 지적, 조언, 질문 환영입니다! 댓글 남겨주세요~

[Programmers] 두 개 뽑아서 더하기

문제 링크입니다: https://programmers.co.kr/learn/courses/30/lessons/68644 코딩테스트 연습 - 두 개 뽑아서 더하기 정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요. 제한 programmers.co.kr set을 이용하면 쉽게 풀 수 있는 문제였습니다. 개발환경:Visual Studio 2017 지적, 조언, 질문 환영입니다! 댓글 남겨주세요~

[Programmers] 3진법 뒤집기

문제 링크입니다: https://programmers.co.kr/learn/courses/30/lessons/68935 코딩테스트 연습 - 3진법 뒤집기 자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. 제한사항 n은 1 이상 100,000,000 이하인 자연수 programmers.co.kr 간단한 진법 문제였습니다. 개발환경:Visual Studio 2017 지적, 조언, 질문 환영입니다! 댓글 남겨주세요~