일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 딥러닝
- Threshold
- Knowledge Distillation
- 임계처리
- deep learning
- numpy
- flame
- re-identification
- point cloud
- 알고리즘
- Python
- Deeplearning
- cv2
- center loss
- 논문 구현
- 프로그래머스
- 3D
- 큐
- 스택
- Object Tracking
- attention
- level2
- 파이썬
- transformer
- OpenCV
- NLP
- 자료구조
- reconstruction
- Object Detection
- Computer Vision
- Today
- Total
목록분류 전체보기 (50)
공돌이 공룡의 서재
1. 이미지 저장형식 컬러 이미지로는 RGB, BGR, HSV 등이 있고 흑백으로는 Grayscale 형태가 주로 쓰인다. 이미지를 불러오면 전자의 경우 3차원 행렬, 후자의 경우 2차원 행렬이다. 각 저장형식에 따른 설명은 다음과 같다. RGB: 빛의 3원소 (Red/Green/Blue)를 0~255 에 해당하는 값으로 저장한다. 빛은 겹칠수록 흰색에 가까워지기 때문에, (255, 255, 255) 에 가까워질수록 흰색, (0, 0, 0)에 가까워질수록 검정색이다. BGR: openCV에서는 처음 이미지를 불러오면 BGR형태로 불러온다. 순서가 RGB와 반대 HSV: Hue(색상), Saturation(채도), Value(명도) 의 형태로 이미지를 나타낸다. 특정 색상을 정하기 좋다. Grayscale..
※ lambda 사용 X def solution(strings, n): # Dictionary 이용 answer = [] box = {} #1 for i in range(len(strings)): box[strings[i][n]] = [] #2 for i in range(len(strings)): box[strings[i][n]].append(strings[i]) box[strings[i][n]] = sorted(box[strings[i][n]]) #3 criterion = sorted(list(box.keys())) for i in range(len(criterion)): for j in range(len(box[criterion[i]])): answer.append(box[criterion[i]][j..
def solution(arr): answer = [arr[0]] for i in range(1, len(arr)): if arr[i] == arr[i-1]: pass else: answer.append(arr[i]) return answer 코드 설명: 처음 숫자는 그 다음 숫자랑 중복이 되든 안되든 무조건 하나를 취하고, 그 다음부터는 배열의 원소를 2개씩 비교하면서 같으면 pass (continue를 써도 무방), 다르면 숫자가 달라지는 것이니 answer 배열에 넣었다.
def solution(array, commands): answer = [] for i in range(len(commands)): temp = array[commands[i][0]-1:(commands[i][1])] temp = sorted(temp) answer.append(temp[commands[i][2]-1]) return answer 코드 설명: 정렬 알고리즘을 물어보나 싶었는데 효율성 테스트가 없는 것을 보아하니 그런 문제는 아니고 문제 조건을 잘 이해하고 있는지, List에 대해 잘 이해하고 있는지를 물어보는듯하다. List의 slice와 sorted() 함수를 이용하면 쉽게 풀 수 있다. 다만 index와 문제 조건의 '번째'는 1씩 차이가 나니 주의해야 한다. +@: 주어진 리스트들의 ..
def solution(n, lost, reserve): give = reserve.copy() for i in range(len(reserve)): if reserve[i] in lost: lost.remove(reserve[i]) give.remove(reserve[i]) check = lost.copy() reserve = give for i in range(len(reserve)): if reserve[i] - 1 in check: if len(check) != 0: check.remove(reserve[i]-1) elif reserve[i] + 1 in check: if len(check) != 0: check.remove(reserve[i]+1) else: pass return n - len(..
같은 작업을 하는 코드여도 어떤 알고리즘을 사용했는지에 따라 실행 시간과 사용하는 메모리 공간이 달라진다. 실행 시간이 짧고 메모리 공간을 절약하는 코드가 효율적인 코드라 볼 수 있을 것이다. 1부터 n까지 더한 값을 return하는 코드들의 비교로 감을 잡아보자. def sum1(n): sum = 0 for i in range(n): sum += (i+1) return sum 위의 코드는 for문을 함수인자 n의 값만큼 실행한다. 1부터 100까지 더한다고 치면 100번 덧셈 연산을 수행한다. def sum2(n): return (n+1)*n/2 위의 코드는 등차급수의 합(점화식) 공식을 이용한 코드인데 곱셈과 나누기를 한번씩 하고 바로 값을 return한다. n이 작다면 실행시간이 거의 차이나지 않는..
def solution(answers): solver = [0, 0, 0] s1 = [1, 2, 3, 4, 5] s2 = [2, 1, 2, 3, 2, 4, 2, 5] s3 = [3, 3, 1, 1, 2, 2, 4, 4, 5, 5] for i in range(len(answers)): if answers[i] == s1[i % len(s1)]: solver[0] += 1 if answers[i] == s2[i % len(s2)]: solver[1] += 1 if answers[i] == s3[i % len(s3)]: solver[2] += 1 answer = [] for i in range(len(solver)): if solver[i] == max(solver): answer.append(i + 1) r..