분류 전체보기
[프로그래머스 연습] 더 맵게 (Python)
[프로그래머스 연습] 더 맵게 (Python)
2021.10.02https://programmers.co.kr/learn/courses/30/lessons/42626 코딩테스트 연습 - 더 맵게 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같 programmers.co.kr import heapq def solution(scoville, K): answer = 0 # 효율성 테스트 실패 # while min(scoville) < K: # scoville.sort() # scoville.append(scoville.pop(0) + (scoville.pop(0) * 2)) # answer += 1 # heapq 모듈을 사용..
[프로그래머스 연습] 수식 최대화 (Python)
[프로그래머스 연습] 수식 최대화 (Python)
2021.09.11https://programmers.co.kr/learn/courses/30/lessons/67257 코딩테스트 연습 - 수식 최대화 IT 벤처 회사를 운영하고 있는 라이언은 매년 사내 해커톤 대회를 개최하여 우승자에게 상금을 지급하고 있습니다. 이번 대회에서는 우승자에게 지급되는 상금을 이전 대회와는 다르게 다음과 programmers.co.kr from itertools import permutations def calc(priority, n, expression): if n == 2: return str(eval(expression)) if priority[n] == '*': res = eval('*'.join([calc(priority, n + 1, e) for e in expression.spl..
[프로그래머스 연습] 두 정수 사이의 합 (Python)
[프로그래머스 연습] 두 정수 사이의 합 (Python)
2021.09.11https://programmers.co.kr/learn/courses/30/lessons/12912 코딩테스트 연습 - 두 정수 사이의 합 두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요. 예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다. 제한 조건 a와 b가 같은 경우 programmers.co.kr def solution(a, b): answer = 0 min = a max = b if b < a: max = a min = b for i in range(min,max+1): answer += i return answer 엄청 간단한 다른 사람 풀이 (대단..) sum과 min/max 함수..
[프로그래머스 연습] 올바른 괄호 (Python)
[프로그래머스 연습] 올바른 괄호 (Python)
2021.09.11https://programmers.co.kr/learn/courses/30/lessons/12909 코딩테스트 연습 - 올바른 괄호 괄호가 바르게 짝지어졌다는 것은 '(' 문자로 열렸으면 반드시 짝지어서 ')' 문자로 닫혀야 한다는 뜻입니다. 예를 들어 "()()" 또는 "(())()" 는 올바른 괄호입니다. ")()(" 또는 "(()(" 는 올바르지 않은 programmers.co.kr def solution(s): stack = [] for c in s: if c == '(': stack.append(c) else: if stack and stack.pop() == '(': continue else: return False return len(stack) == 0 다른 풀이 def is_pair(s..
[프로그래머스 연습] 오픈채팅방 (Python)
[프로그래머스 연습] 오픈채팅방 (Python)
2021.09.11https://programmers.co.kr/learn/courses/30/lessons/42888 코딩테스트 연습 - 오픈채팅방 오픈채팅방 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오 programmers.co.kr * 2019 KAKAO BLIND RECRUITMENT 딕셔너리를 활용해 유저 아이디에 대한 유저 닉네임을 저장해주면 된다. def solution(record): answer = [] dict = {} for mes in record: # Enter나 Change인 경우 dict에 추가 if (mes.split(' ')[0] == 'Enter') | (mes...
[프로그래머스 연습] 문자열 압축 (Python)
[프로그래머스 연습] 문자열 압축 (Python)
2021.09.04https://programmers.co.kr/learn/courses/30/lessons/60057 코딩테스트 연습 - 문자열 압축 데이터 처리 전문가가 되고 싶은 "어피치"는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문 programmers.co.kr * 2020 KAKAO BLIND RECRUITMENT 문제 def solution(s): cand = [len(s)] for i in range(1, len(s)): #size split = [s[j:j+i] for j in range(0,len(s),i)] cnt = 1 res = "" # check duplicate for k in range(1,l..
Codility Developer Training Lesson 1번
Codility Developer Training Lesson 1번
2021.08.15A binary gap within a positive integer N is any maximal sequence of consecutive zeros that is surrounded by ones at both ends in the binary representation of N. number 9 has binary representation 1001 and contains a binary gap of length 2 number 529 has binary representation 1000010001 and contains two binary gaps: one of length 4 and one of length 3 number 20 has binary representation 10100 and..
우분투 마우스 커서 십자가 (플러스) 모양이 됐을 때
우분투 마우스 커서 십자가 (플러스) 모양이 됐을 때
2021.07.06우분투에서 마우스 커서가 십자가 (플러스) 모양으로 바뀐 경우에는 Ctrl+Alt+T를 눌러서 터미널을 킨 다음 killall -KILL import 해주면 해결 된다. ref https://askubuntu.com/questions/1031400/mouse-cursor-turned-into-a-thick-plus-cannot-click-but-mouse-can-move
[OpenCV] 2개의 이미지를 하나의 윈도우로 보여주는 방법
[OpenCV] 2개의 이미지를 하나의 윈도우로 보여주는 방법
2021.07.02OpenCV 에서는 이미지를 넘파이 배열 형식으로 읽어올 수 있기 때문에 concatenate, vstack, hstack 과 같은 방법을 사용해서 해결 할 수 있다. 주의 해야할 점은 1) 가로 또는 세로로 붙이는 2개의 이미지의 이미지 사이즈가 같아야한다. (차원이 달라서 연산 불가) 2) 같은 이미지를 하나는 컬러, 하나는 흑백으로 보여주고 싶을 때, 두 이미지는 channel 수가 다르다 (컬러 : 3 / 흑백 : 1). 여기도 위와 같은 이유로 연산이 불가능 하기 때문에 gray scale로 변환한 이미지를 3 채널로 변경하는 작업을 해줘야 한다. import cv2 import numpy as np image = cv2.imread('28cda5f26af6c63f1936f0dc7e4ce003...
Detectron2 로 Mask R-CNN 학습하기
Detectron2 로 Mask R-CNN 학습하기
2021.06.291. 아나콘다 가상환경 세팅 $ conda create -n detectron2 python==3.8 -y $ conda activate detectron2 2. PyTorch 설치 https://pytorch.org/get-started/previous-versions/ 에서 CUDA 버전에 맞는 PyTorch 설치 #(CUDA 11.0 기준 Torch v1.7.0) $ conda install pytorch==1.7.0 torchvision==0.8.0 torchaudio==0.7.0 cudatoolkit=11.0 -c pytorch -y 3. Detectron2 설치 기본 조건: Linux or macOS with Python ≥ 3.6 PyTorch ≥ 1.7 and torchvision that..
[논문 리뷰] Instances as Queries (Cont.)
[논문 리뷰] Instances as Queries (Cont.)
2021.06.28Instances as Queries 모델을 이해하기 위해서는 이해해야할 모델이 참 많다 ㅎㅎ.. 0. Mask R-CNN 요약 첫 번째 단계는 Region Proposal (물체의 위치를 찾는 일) 두 번째 단계는 Region Classification (물체를 분류하는 일) Feature Extraction (feature map 생성) Region Proposal Network (Region Proposal - 카테고리와 무관하게 물체의 영역을 찾는 모듈) Feature Maps 위에 n*n spartial window를 슬라이드 sliding-window가 찍은 지점마다 여러 Region Proposal(Anchor) 예측 (k개) Bounding Box의 후보로 사용되는 상자 Classifica..
PyTorch 모델 구조 summary & 그래프화 2
PyTorch 모델 구조 summary & 그래프화 2
2021.06.23이전 글: [AI/Self-Study] - PyTorch 모델 구조 summary & 그래프화 1 PyTorch 모델 구조 summary & 그래프화 1 TensorFlow에서는 model.summary() 메서드 호출을 통해 모델을 요약해서 layer마다 shape와 같은 정보들을 볼 수 있다. PyTorch에서 model.summary() 처럼 사용할 수 있는 메서드와 모델 구조를 그래프화 하는 방.. lynnshin.tistory.com 저번 글에 이어서 PyTorch 모델 시각화 방법에 대해 알아보자 2. 모델 시각화 확인 2-1) Torchviz !pip install torchviz from torchviz import make_dot import torch x = torch.zeros(1,1..