일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Semantic Segmentation
- optimizer
- 프로그래머스
- Ai
- Paper Review
- 논문구현
- Segmentation
- 인공지능
- 옵티마이저
- cnn
- ViT
- object detection
- 딥러닝
- 코드구현
- Self-supervised
- 파이썬
- 논문 리뷰
- 머신러닝
- transformer
- pytorch
- Python
- 논문리뷰
- 파이토치
- programmers
- 논문
- Computer Vision
- Convolution
- 알고리즘
- opencv
- 코딩테스트
- Today
- Total
목록알고리즘 (25)
Attention please
코딩테스트 연습 - 완주하지 못한 선수 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제설명 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요. 제한 사항 마라톤 경기에 참여한 선수의 수는 1명 이상 100,000명 ..
탐색 알고리즘이란 저장된 데이터에서 특정 조건을 만족하는 데이터를 찾는 알고리즘을 의미합니다. 즉, 저장된 데이터들 중에 원하는 값을 찾는 탐색문제에서 사용됩니다. 키(key) 탐색 문제에서 주목하는 항목을 키(key)라고 합니다. 데이터값이 그대로 키 값이 될 수도 있습니다. ex) 탐색조건 : '국적이 한국인 사람을 찾습니다.' 키 : 국적 선형 탐색 선형(직선)으로 늘어선 데이터에서 원하는 키 값을 가진 원소를 찾을 때까지 맨앞에서부터 순서대로 검색하는 알고리즘입니다. 만약 검색할 값과 같은 원소를 찾게 되면 검색을 성공함과 동시에 알고리즘은 종료하게 됩니다. 만약 검색할 값을 찾지 못하고 배열의 맨 끝을 지나간 경우 검색을 실패함과 동시에 알고리즘은 종료하게 됩니다. 만약 탐색에 성공하면 인덱스를..
스택 스택이란 한 쪽 끝에서만 자료를 넣거나 뺄 수 있는 선형 구조로 되어있는 자료구조입니다. 즉 앞에서 배운 연결리스트와 개념이 비슷합니다. 후입 선출 만약 [1,2,3]이 있었고 4를 추가로 넣었다면 결과는 [1,2,3,4]가 될 것입니다. 이때 데이터를 출력할 때 가장 최근에 넣었던 4가 출력이 됨을 의미합니다. 구조 스택의 구조는 총 3가지로 분류할 수 있습니다. 탑 스택의 가장 위에 있는 원소 가장 최근에 들어온 원소 바텀 스택의 가장 아래에 있는 원소 가장 예전에 들어온 원소 스택의 크기 스택에 들어가있는 데이터의 개수 푸시(push) 푸쉬는 자료를 넣는 것을 의미합니다. 즉 스택에서 기존의 탑 위에 새로운 원소를 추가합니다. 팝(pop) 자료를 삽입하는 푸시와는 반대로 팝은 넣어둔 자료를 꺼..
연결리스트 위에서 각 노드들을 생성하여 서로 연결하는 작업을 해보았습니다. 이렇게 각 노드가 데이터와 포인터를 가지고 한줄로 연결되어 있는 방식으로 데이터를 저장하는 자료 구조를 연결리스트라 합니다. 이 연결리스트는 리스트를 구현하는 방법 중 하나입니다. 위에서 보이는 것처럼 연결리스트중 맨 앞에 있는 노드를 머리 노드라 하며, 맨 끝에 있는 노드를 꼬리 노드라 합니다. 위 사진에서 머리노드는 A, 꼬리노드는 B가 되겠습니다. 연결리스트 구현 연결리스트역시 클래스로 구현합니다. 이 클래스안에는 2가지 종류의 속성이 포함되어 있습니다. 리스트에 등록되어있는 노드의 개수를 의미하는 no와 머리노드를 가리키는 head입니다. 메소드는 초기화하는 __init__메소드와 연결리스트에 포함된 노드 개수를 리턴하는 ..
리스트 리스트란 순서가 있는 데이터를 나열한 자료구조를 의미합니다. a = [1,3,5] b = ['a', 'b', 'c'] 위 코드처럼 int, float, str등 여러 자료형의 데이터들을 순서에 맞게 나열한 후 변수에 저장시킬 수 있습니다. 노드 노드란 연결리스트를 구성하는 각각의 원소들을 의미합니다. 뒤에서 배울 연결리스트가 바로 이 노드들의 연결로 인해 구성됩니다. 노드는 DATA와 포인터를 가집니다. 포인터는 노드와 노드를 연결하는 방향이라고 생각하면 됩니다. 이와 같이 노드는 개개인의 데이터를 가지며 또 노드끼리 연결될 때 방향을 가지고 있습니다. 타입 힌트 잠시 타입 힌트에 대해 설명하겠습니다. 위의 노드는 클래스로 구성되는데 여러 클래스들을 구성하고 또 연결할 때 어떠한 자료형을 입력값으..
앞으로 데이터들을 가지고 연산을 하는 자료구조들을 파이썬으로 구현하고자 할 때 클래스를 사용하여 표현합니다. 이러한 자료구조들을 구현하기 위해 사용되는 클래스에 대해 알아보겠습니다. 클래스 클래스란? 객체를 만드는데 필요한 설계도라고 생각하면 됩니다. 객체 혹은 인스턴스라 불리는 이것은 설계도인 클래스를 가지고 구현해야할 대상입니다. 즉, 클래스에서 정의된 것을 실제 메모리에 구현 한 것입니다. 멤버변수(속성) 객체에 정보를 저장 메소드 연산수행 생성자 객체를 생성하는 특별한 메소드 self파라미터 생성된 객체를 참조한다. 저 위에 있는 것들로 클래스는 구현되고 사용됩니다. 간단하게 클래스 하나를 만들어보겠습니다. class test: # test:클래스이름 def __init__(self, input,..