1. 그리디 알고리즘 이란?현재 상황에서 지금 당장좋은 것만 고르는 방법단순히 가장 좋아 보이는 것만 반복적으로 선택해도 최적의 해를 구할 수있는지 검토예: 루트 노드부터 시작해 거쳐가는 노드의 값을 최대로 하고 싶은경우→ 단순히 매 상황에서 가장 큰 값만 고르는 방식일반적인 상황에서 최적의해를 보장할 수 없을 때가 많다- 500 100 50 10 → N가장 큰 화폐부터 돈을 거슬러준다⇒ 최적의 해를 보장하는 이유는?⇒ 큰 단위가 항상 작은 단위의 배수이므로, 작은 단위의 동전들을 종합해 다른 해가나올 수 없기 때문!500, 400, 100원인 경우 500원이 400원의 배수가 아니므로 다른 해법이 나올 수 이다.화폐의 종류가 K라고 할때, 소스코드의 시간 복잡도는 O(K)이 알고리즘의 시간 복잡도는 거..
프로그래머스 알고리즘 고득점 KIT - 해시 1. 베스트 앨범my_dict = {gen:[] for gen in set(genres)}my_dictfor gen,play,idx in zip(genres, plays, range(len(plays))): my_dict[gen].append([play,idx])genSorted = sorted(my_dict.keys(), key= lambda x: sum(map(lambda y: y[0],my_dict[x])), reverse=True)genSortedanswer = []for gen in genSorted: temp = [idx[1] for idx in sorted(my_dict[gen], key= lambda x:(x[0], -x[1]), re..

[1] 알고리즘* 알고리즘은 입력(input)에서 받은 자료를 출력(output)형태로 만드는 처리 과정.입력값을 출력값의 형태로 바꾸기 위해 어떤 명령들이 수행되어야 하는지에 대한 규칙들의 순서적 나열알고리즘의 평가할 때는 정확성도 중요하지만, 효율성도 중요합니다.* 의사코드 : 생각을 간결하게 정리한 구문 ex. 전화번호부를 집어든다. 책의 중간을 펼친다. 등등.. [2] 알고리즘 표기법(1) Big O : 알고리즘 실행 시간의 상한을 나타낸 것(2) Big Ω : 알고리즘 실행 시간의 하한Big O (상한)Big Ω (하한)O(n^2) 느림버블 정렬, 선택정렬Ω(n^2) 느림선택 정렬O(n log n)병합 정렬Ω(n log n)병합 정렬O(n)선형 검색Ω(n)버블 정렬(*정렬이 된 리스트를 받은 경..
- Total
- Today
- Yesterday
- 줄넘기
- opic
- 빅데이터 분석기사
- 실기
- 아침운동
- 티스토리챌린지
- 30분
- 오블완
- 영어회화
- 기초
- ChatGPT
- 갓생
- 다이어트
- 아침
- 고득점 Kit
- 스크랩
- C언어
- IH
- Ai
- 뉴스
- 미라클모닝
- 프로그래머스
- Python
- 습관
- 운동
- llm
- SQL
- 오픽
- 루틴
- 경제
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |