Computer Science/자료구조 116

[6.7] 프로그래머스 코딩테스트 연습 - 소수 만들기(7/100)

코딩테스트 연습 - 소수 만들기 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 소수 만들기 주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때 programmers.co.kr # 3개의 수를 더했더니 소수가 되는 경우의 수 # 숫자에 있는 배열이 매개변수로 주어진다. # 3개를 골라 더하면 소수가 되는 경우를 return한다. # 소수가 없으면 -1 출력 # num의 숫자는 3 이상 50 이하 def check(sum): for i in range(2, (sum//2)+1): if sum % i == 0: return False r..

[6.6] 프로그래머스 코딩테스트 연습 - 소수 만들기 (7/100)

코딩테스트 연습 - 소수 만들기 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 소수 만들기 주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때 programmers.co.kr 어렵다.... def solution(nums): summ = set() prime = [] answer = 0 for i in range(len(nums)): for j in range(i+1, len(nums)): for k in range(j+1, len(nums)): m = (nums[i], nums[j], nums[k]) if m not in summ..

[6.6] 프로그래머스 코딩테스트 연습 - 폰켓몬 (6/100)

코딩테스트 연습 - 폰켓몬 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 폰켓몬 당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다. programmers.co.kr def solution(nums): answer = 0 typ = [] n = len(nums) for i in nums: if i not in typ: typ.append(i) if len(typ) > n/2: answer = n/2 else: answer = len(typ) return answer 흠 ㅎㄷㄷ def solution(ls): return min(len(ls)/2..

[6.6] 프로그래머스 코딩테스트 연습 - 음양 더하기 (5/100)

코딩테스트 연습 - 음양 더하기 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 음양 더하기 어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 re programmers.co.kr def solution(absolutes, signs): answer = 0 n = len(absolutes) # 제한사항 추가하기 if 1

[6.6] 프로그래머스 코딩테스트 연습 - 체육복 (4/100)

코딩테스트 연습 - 체육복 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 체육복 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번 programmers.co.kr 이렇게 문제 풀이 구상을 한다. #번호는 체격순. 앞번호, 뒷번호에게만 빌려줄 수 있다. # n : 전체 학생 수 # lost : 도난당한 학생의 배열 # reserve : 여벌 있는 번호 # 전체 학생 수 2 ~ 30 # lost 1 ~ n (중복 번호 없음) # 여벌 1 ~ n (중복 번호 없음) # 여벌 + lost인 경우, 빌려줄 수 없음 # step 1. 제한사항 정리하기 # 2

[6.6] 프로그래머스 코딩테스트 연습 - 로또 최고 순위와 최저 순위(3/100)

코딩테스트 연습 - 로또의 최고 순위와 최저 순위 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 로또의 최고 순위와 최저 순위 로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. 1 순위 당첨 내용 1 6개 번호가 모두 일치 2 5개 번호 programmers.co.kr 제한사항 넣기 전! # 당첨 가능한 최고 순위와 최저 순위 def solution(lottos, win_nums): answer = [] samenum = 0 mini = 0 maxi = 0 # 제한사항 담기. for i in win_nums: if i in lottos: samenum += 1 n = lottos...

[6.3] 09-2 이진 트리와 이진 검색 트리

이진 트리 알아보기 binary tree - 노드가 left child, right child만을 갖는 트리 완전 이진 트리 알아보기 complete binary tree - 루트부터 아래쪽으로 + 왼쪽부터 오른쪽으로 노드가 채워진 이진 트리 * 균형 검색 트리 self-balancing search tree : 노드의 높이를 O(logn)으로 제한한 트리 - (이진 균형검색 트리) AVL tree, red-black tree가 있음 - (이진 아닌) B트리, 2-3 트리 이진 검색 트리 알아보기 binary search tree 배열 : 왼쪽 서브트리 노드 < 자신의 노드 < 오른쪽 서브트리 노드 (값이 중복되는 노드는 취급하지 않음) 검색 : 중위 순회의 깊이 우선 검색으로 검색 * 중위 순회 - 왼..

[6.2] 09-1 트리구조

트리 구조 : 데이터 사이의 계층 관계를 표현한다 트리의 구조와 관련 용어 tree - node와 edge로 구성됨. root - 가장 상위에 있는 노드 leaf - terminal node = external node non-terminal node = internal node 비단말 노드 자식 - 아래쪽 노드 부모 parent 위쪽에 있는 노드 형제 - sibling 부모가 같은 노드 조상 - ancestor 가지를 따라가면 만나는 노드 자손 - descendant 아래로 내려가면서 만나는 모든 노드 레벨 - 루트에서 얼마나 떨어져 있는지 나타냄 차수 - degree 노드의 자식 수 높이 - height 리프 레벨의 최댓값 서브트리 - subtree - 자손으로 구성된 트리 빈 트리 - null tr..