분류 전체보기

Algorithm/Python

파이썬 defaultdcit 런타임에러 RuntimeError: dictionary changed size during iteration

from collections import defaultdict graph = defaultdict(list) for x in graph: ... 런타임 에러 발생 원인: defaultdict는 존재하지 않는 키 조회 시 오류가 생기지 않게 하기 위해 항상 디폴트를 생성함. from collections import defaultdict graph = defaultdict(list) for x in list(graph): ... 해결 방법: 새로운 복사본 생성 graph -> list(graph)

Data

이미지 데이터가 부족할 때 생기는 문제(과적합; Over-fitting) 완화 방안

이미지 데이터가 부족하다는 건, 모델이 제공받는 정보 중 훈련 데이터에서 얻을 수 있는 정보의 양이 제한적이라는 거다. 이럴 때는 모델의 성능을 보장하기 위해 더 많은 선험적 정보를 필요로 하게 된다. 선험적 정보를 모델 상에서 활용하기 위한 방법에는 위와 같은 것들이 있다. 본론으로 돌아와서 이미지 데이터가 부족하면 과적합 문제가 발생하게 된다. 과적합 문제란 훈련 데이터 상에서는 좋은 성능을 보이지만, 테스트 데이터에서는 그와 같은 성능이 나오지 못하는 문제라고 할 수 있다. 해결 방안에는 모델에 기반을 둔 방법과 데이터에 기반을 둔 방법이 있다. 데이터 확장의 예시로 SMOTE, GANs, 전이학습의 세가지를 들었다. 1. SMOTE란 무엇인가(링크)? - SMOTE는 업샘플링 기법이다. - 불균형..

Database

2021년 4월 DBMS 인기 순위

DBMS는 DataBase Management System의 약자로, 데이터베이스를 생성, 관리, 수정, 조작하는데 사용하는 소프트웨어다. Oracle, MySQL, Microsoft SQL Server는 RDBMS로 오래동안 큰 변동없이 최상위권에 위치해왔다. 이 세가지를 제외하고서 특별히 눈에 띄는 것은 2013년부터 완만하게 상승곡선을 보이는 PostgreSQL, MongoDB 그리고 2020년부터 급등한 Microsoft Azure SQL Database다(왜 갑자기 급등했을까??). 2021년 4월 기준으로 랭킹[1]은 아래와 같다. 1. Oracle detailed information Relational, Multi-model info 1274.92 -46.82 -70.51 (Score, M..

Algorithm/Python

[파이썬/프로그래머스][1차] 뉴스 클러스터링/Counter를 이용한 교집합, 합집합

링크 programmers.co.kr/learn/courses/30/lessons/17677 코딩테스트 연습 - [1차] 뉴스 클러스터링 뉴스 클러스터링 여러 언론사에서 쏟아지는 뉴스, 특히 속보성 뉴스를 보면 비슷비슷한 제목의 기사가 많아 정작 필요한 기사를 찾기가 어렵다. Daum 뉴스의 개발 업무를 맡게 된 신입사원 튜브 programmers.co.kr 코드 import re from collections import Counter def subset(string): result = [] string = string.lower() for i in range(len(string)-1): elem = string[i:i+2] if elem == re.sub('[^a-z]', '', elem): resu..

Algorithm/Python

[파이썬/프로그래머스]배달/다익스트라/우선순위큐/가지치기!!!!!!!!!

링크 programmers.co.kr/learn/courses/30/lessons/12978?language=python3 코딩테스트 연습 - 배달 5 [[1,2,1],[2,3,3],[5,2,2],[1,4,2],[5,3,1],[5,4,2]] 3 4 6 [[1,2,1],[1,3,2],[2,3,2],[3,4,3],[3,5,2],[3,5,3],[5,6,1]] 4 4 programmers.co.kr 문제 설명 N개의 마을로 이루어진 나라가 있습니다. 이 나라의 각 마을에는 1부터 N까지의 번호가 각각 하나씩 부여되어 있습니다. 각 마을은 양방향으로 통행할 수 있는 도로로 연결되어 있는데, 서로 다른 마을 간에 이동할 때는 이 도로를 지나야 합니다. 도로를 지날 때 걸리는 시간은 도로별로 다릅니다. 현재 1번 마..

Algorithm/Python

[파이썬/프로그래머스]점프와 순간이동

링크 programmers.co.kr/learn/courses/30/lessons/12980 코딩테스트 연습 - 점프와 순간 이동 OO 연구소는 한 번에 K 칸을 앞으로 점프하거나, (현재까지 온 거리) x 2 에 해당하는 위치로 순간이동을 할 수 있는 특수한 기능을 가진 아이언 슈트를 개발하여 판매하고 있습니다. 이 아이언 슈 programmers.co.kr 한 번에 K 칸을 앞으로 점프하거나, (현재까지 온 거리) x 2 에 해당하는 위치로 순간이동을 할 수 있는 특수한 기능을 가진 아이언 슈트가 있다. K 칸인건 상관없고 현재 칸이 x라고 할때, x+1 또는 x*2의 위치로 이동할 수 있다고 생각하면 된다. r이 1인 경우에만 순간이동을 못하니 배터리를 사용해주면 된다. 코드 def solution..

Algorithm/Python

[파이썬/프로그래머스]예상 대진표

링크 programmers.co.kr/learn/courses/30/lessons/12985# 코딩테스트 연습 - 예상 대진표 △△ 게임대회가 개최되었습니다. 이 대회는 N명이 참가하고, 토너먼트 형식으로 진행됩니다. N명의 참가자는 각각 1부터 N번을 차례대로 배정받습니다. 그리고, 1번↔2번, 3번↔4번, ... , N-1번↔N programmers.co.kr 규칙을 찾아보니 대진표의 짝수 숫자 //2 가 다음 대진표에 나가는거라서 a가 홀수일 경우에만 1을 더해주게 했는데, 다시 생각해보니 짝수든 홀수든 상관없이 1을 더하면 다음 대진표 숫자가 된다((1+1)//2=1, (2+1)//2=1 로 서로 같음). 그렇게 코드를 짰으면 더 간결했을 듯 def solution(n,a,b): answer = ..

Algorithm/Python

[파이썬/프로그래머스]쿼드압축 후 개수 세기

링크 programmers.co.kr/learn/courses/30/lessons/68936?language=python3# 코딩테스트 연습 - 쿼드압축 후 개수 세기 [[1,1,0,0],[1,0,0,0],[1,0,0,1],[1,1,1,1]] [4,9] [[1,1,1,1,1,1,1,1],[0,1,1,1,1,1,1,1],[0,0,0,0,1,1,1,1],[0,1,0,0,1,1,1,1],[0,0,0,0,0,0,1,1],[0,0,0,0,0,0,0,1],[0,0,0,0,1,0,0,1],[0,0,0,0,1,1,1,1]] [10,15] programmers.co.kr 처음에는 리스트를 4개로 나누어줬는데, 계속 시간초과가 되서 리스트를 직접 만들지 않고 포인터처럼 r, c가 왔다갔다 하게 구현했다. 그리고 처음에 바..

Algorithm/Python

[파이썬/프로그래머스]짝지어 제거하기 스택사용

링크 programmers.co.kr/learn/courses/30/lessons/12973?language=python3 코딩테스트 연습 - 짝지어 제거하기 짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙 programmers.co.kr 문제 설명 짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙입니다. 이 과정을 반복해서 문자열을 모두 제거한다면 짝지어 제거하기가 종료됩니다. 문자열 S가 주어졌을 때, 짝지어 제거하기를 ..

Algorithm/Python

[파이썬/백준 19236]청소년 상어

링크 www.acmicpc.net/problem/19236 19236번: 청소년 상어 첫째 줄부터 4개의 줄에 각 칸의 들어있는 물고기의 정보가 1번 행부터 순서대로 주어진다. 물고기의 정보는 두 정수 ai, bi로 이루어져 있고, ai는 물고기의 번호, bi는 방향을 의미한다. 방향 bi는 www.acmicpc.net 문제 아기 상어가 성장해 청소년 상어가 되었다. 4×4크기의 공간이 있고, 크기가 1×1인 정사각형 칸으로 나누어져 있다. 공간의 각 칸은 (x, y)와 같이 표현하며, x는 행의 번호, y는 열의 번호이다. 한 칸에는 물고기가 한 마리 존재한다. 각 물고기는 번호와 방향을 가지고 있다. 번호는 1보다 크거나 같고, 16보다 작거나 같은 자연수이며, 두 물고기가 같은 번호를 갖는 경우는 ..

Algorithm/Python

[파이썬/프로그래머스]게임 맵 최단거리 BFS

링크 programmers.co.kr/learn/courses/30/lessons/1844 코딩테스트 연습 - 게임 맵 최단거리 [[1,0,1,1,1],[1,0,1,0,1],[1,0,1,1,1],[1,1,1,0,1],[0,0,0,0,1]] 11 [[1,0,1,1,1],[1,0,1,0,1],[1,0,1,1,1],[1,1,1,0,0],[0,0,0,0,1]] -1 programmers.co.kr 문제 설명 ROR 게임은 두 팀으로 나누어서 진행하며, 상대 팀 진영을 먼저 파괴하면 이기는 게임입니다. 따라서, 각 팀은 상대 팀 진영에 최대한 빨리 도착하는 것이 유리합니다. 게임 맵의 상태 maps가 매개변수로 주어질 때, 캐릭터가 상대 팀 진영에 도착하기 위해서 지나가야 하는 칸의 개수의 최솟값을 return ..

Data

[자연어처리]파이썬으로 데이터전처리하기

1. 코퍼스수집 - 공개 데이터 사용(Kaggle 등 각종 대회용, 논문용 데이터) - 데이터 구매 - 데이터 크롤링 2. 정제 업무와 문제, 응용 분야 등 각 경우에 따라 필요한 정제의 수준이나 깊이가 다를 수 있다. 필요한 형태를 얻어낼 수 있는 정제 방법을 사용해야 한다. - 전각 문자 제거: 전각 문서를 일반적으로 사용되는 반각 문자로 전환 - 대소문자 통일: 다양한 표현의 일원화는 하나의 의미를 지니는 여러 단어를 하나의 형태로 통일해 희소성을 줄일 수 있음. 그러나 단어 임베딩을 통한 효율적인 표현이 가능해지면서 대소문자 통일과 같은 문제를 해결할 필요성이 줄어들었음 - 정규 표현식: 특수 문자 등의 노이즈 감지 및 제거 3. 분절 from nltk.tokenize import LineToke..

박한결
'분류 전체보기' 카테고리의 글 목록 (10 Page)