GRAPH
·
Algorithm/알고리즘 스터디
📌 그래프- 그래프는 인접하게 정점과 서로 이웃한 정점 간의 연결된 관계를 표현해 주는 비선형 자료구조- 쉽게, 여러 개체들이 연결되어 있는 자료구조💡 그래프 표현 방법G = (V, E)G = 그래프 (Graph)                       V = 정점 (Vertex)                        E = 간선 (Edge)💡 그래프 종류무방향 그래프 (V, E)- 간선에 방향성이 없는 그래프로 정점 간의 순서가 없다.- 즉, (A, B)와 (B, A)는 동일한 간선이다. 방향 그래프 - 간선에 방향이 있는 그래프로 정점에서 어디로 가는지의 방향과 순서를 표현할 수 있다. - 즉, 와 는 다른 간선이다. 여기서 잠깐!비선형 자료구조눈 순서가 정해져 있지 않은 자료 구조이다.근데..
그리디 코테 파이썬 문제
·
Algorithm/코딩 테스트
https://adjh54.tistory.com/212 [Java/알고리즘] 그리디 알고리즘(탐욕법, Greedy Algorithm) 이해하기해당 글에서는 알고리즘의 설계 방법 중 탐욕법/그리디 알고리즘에 대해서 이해를 돕기 위해 작성한 글입니다.1) 그리디 알고리즘(탐욕법, Greedy Algorithm)💡 그리디 알고리즘(탐욕법, Greedy Algorithadjh54.tistory.com체육복전체 학생의 수 n체육복을 도난당한 학생들의 번호가 담긴 배열 lost여벌의 체육복을 가져온 학생들의 번호가 담긴 배열 reserve체육수업을 들을 수 있는 학생 배열 canreturn 💡- lost배열안에 있는 번호가 reserve배열안 번호와 동일하다면 lost 배열과 reserve 배열에서 해당 번호를..
그리디
·
Algorithm/알고리즘 스터디
그리디 : 탐욕- 미래를 고려하지 않고 오직 현재 시점에 가장 좋은 선택의 알고리즘 가장 좋은 선택 = 가장 빠르고, 저렴한, 가장 가치있는 선택  최적해가 보장되는 조건에서만 그리디 알고리즘을 사용할 수 있다.   조건 1. 현재의 선택이 미래의 선택에 영향을 주지 않는다. 서울 -> 대전 초이스에 따라 대전 -> 부산 초이스가 달라지는가? 했을때 달라지지 않는다.  => [조건 성립]그렇기 때문에 서울 -> 대전만 따졌을때 가장 좋은 선택을 하고, 대전 -> 부산만 따졌을 때 가장 좋은 선택을 한다는 것이다.  =>탐욕스러운 선택 조건 그리디 초이스 프로펄티 조건 2. 문제의 일부분의 최적 해가 모이면 전체의 최적 해가 된다는 것이다. 서울에서 부산까지의 최소 거리니까 서울 -> 대전의 최소 + 대전..
[프로그래머스 Lv.1] 같은 숫자는 싫어
·
Algorithm/코딩 테스트
문제https://school.programmers.co.kr/learn/courses/30/lessons/12906?language=python3 from collections import dequedef solution(arr): queue = deque() # 큐 생성 및 초기화 : 비어있는 상태 [O(1)] for num in arr: # 배열에서 num 갯수만큼 반복 # 해당 생태일 때 큐에 넣는다. # 1. not queue : 큐가 비어 있는 경우 # 2. queue[-1] != num : 새로 들어가는 숫자가 queue의 마지막 숫자랑 같지 않을 때 (같을때는 넣으면 안됌) if not queue or queue[-1] != num: queue.append(num)..
스택 Stack & 큐 Queue
·
Algorithm/알고리즘 스터디
ADT (Abstract Data Type)추상자료형개념적으로 어떤 동작이 있는지만 정의한다.구현에 대해서는 다루지 않는다. DS (Data Structure)자료구조ADT에서 정의된 동작을 실제로 구현한 것을 의미한다.스택 Stack스택은 가장 최근에 넣은 것을 가장 먼저 뺄 수 있는 데이터 구조로 내부 프로세스 구조 함수의 동작 방식으로 사용된다. LIFO (Last In First Out) 형태로 데이터를 저장하는 구조 1. 스택 주요 동작push : 아이템을 집어넣음/쌓음 (Python list의 append 메소드와 같다)pop : 아이템을 빼냄 (Python list의 pop 기능과 같다)peek : 최상단의 아이템을 알려줌2. 스택 동작 방식동작결과push(1)1push(2)21push(3)..
인터페이스 맵 MAP
·
Algorithm/알고리즘 스터디
MAP은 반복연산을 수행해주는 파이썬 내장함수이다. 반복연산에는 for문, while문이 있는데map은 그 중에서도 for문을 이용해서 자료를 다루는 것을 좀 더 간결하게 나타낼 수 있도록 한다. map은 실질적으로 사용을 해도 안해도 크게 문제가 될 것 없이 for문으로 다 대체가 가능하다.파이썬 내부에서 동작을 수행할 때도 for문을 쓰는거에 비해서 월등하게 더 빠르지도 않다.Mapkey-value pair들을 저장하는 ADT* ADP : ?중복된 key 값을 가지면 안됨. Map 언제 사용할까? 1. key값와 value값을 맵핑할 때2. 카운트할 때 https://www.youtube.com/watch?v=ZBu_slSH5SkMAP 사용 예시1. 짝수 만들기# 함수 생성def make_even(n..