Category(121)
-
[프로그래머스] Level 1 모의고사 | 파이썬 | 완전탐색 (🌟 itertools.cycle 사용하기)
문제 설명 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 방식: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ... 2번 수포자가 찍는 방식: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5, ... 3번 수포자가 찍는 방식: 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, ... 1번 문제부터 마지막 문제까지의 정답이 순서대로 들은 배열 answers가 주어졌을 때, 가장 많은 문제를 맞힌 사람이 누구인지 배열에 담아 return 하도록 solution 함수를 작..
2022.02.07 -
[PYTHON/파이썬] KoBERT를 사용한 온라인 뉴스 악성 댓글 데이터 이진 분류
KoBERT 모델을 사용해 뉴스 댓글을 분류하는 작은 프로젝트를 진행해보았다. *프로젝트는 코랩 환경에서 진행했다 1. 주제 선정 이유🙋♂️ 프로젝트의 주제는 KoBERT를 사용한 온라인 뉴스 악성 댓글 데이터 이진 분류이다. 주제 선정 이유는 다음과 같다. 유튜브, 개인방송, SNS, 게임 채팅 등 온라인 공간 확장 특정 집단뿐만 아니라 일반인을 대상으로 한 악성 댓글 증가 피해자의 경우 외상 후 스트레스 장애 및 대인관계 기피, 공포로의 발전 가능성 존재 큰 사회적 문제인 악성 댓글 문제를 기업 차원에서 어떻게 대응할 수 있을지에 대해 고민한 결과 딥러닝을 사용해 이를 분류해보기로 했다. 2. 데이터 선정🙋♂️ 한국어로 된 데이터셋을 조사하였고, 최종적으로 Korean HateSpeech Data..
2022.01.15 -
[PYTHON/파이썬] 워드 클라우드(Word Cloud)로 한글 데이터 시각화하기
자연어 처리 글에서 꼭 한 번씩 보이는 워드 클라우드(Word Cloud) * 워드 클라우드 또는 태그 클라우드란 데이터의 중요도나 인기도를 고려하여 2차원으로 시각화한 것을 말한다(출처 위키백과). 프로젝트에서 한글 데이터를 다루면서 처음으로 사용해봤다. 우선 결과물부터 보자. 사용한 데이터는 Korean HateSpeech Dataset으로 편견, 혐오 표현, 모욕에 대한 한국어 온라인 뉴스 댓글 데이터셋이다. 시각화에는 데이터셋 중에서도 Gender-related bias 특성이 True로 라벨링 된 데이터를 사용했다. 시각화 *모든 코드는 코랩 환경에서 실행했다. 사용한 데이터셋이 문장으로 되어 있었기 때문에, 시각화에 앞서 형태소 분석기로 명사만 추출했다. 형태소 분석기로는 Mecab을 사용했다..
2022.01.14 -
[BOJ/백준] 10799번 쇠막대기 | 스택 | 파이썬
문제 풀이 import sys def cutIron(bar): stack = [] cnt = 0 for i in range(len(bar)): if bar[i] == '(': stack.append('(') elif bar[i] == ')': if bar[i-1] == '(': stack.pop() cnt += len(stack) else: stack.pop() cnt += 1 return cnt bar = list(sys.stdin.readline()) print(cutIron(bar)) 스택 자료구조를 사용한 문제. 입력으로 받은 문자열을 리스트 bar로 바꿔 쇠막대기 개수를 세는 함수 cutIron에 넣었다. bar의 길이만큼 반복문을 수행한다. 1) bar[i] 값이 '('이면 쇠막대기의 시작을 ..
2021.09.29 -
[BOJ/백준] 2630번 색종이 만들기 | 분할정복 | 파이썬
문제 풀이 import sys def cutPaper(x, y, n): # x,y좌표와 색종이 크기 global cnt_white, cnt_blue print(x, y, n) for i in range(x, x+n): for j in range(y, y+n): if paper[x][y] != paper[i][j]: cutPaper(x, y, n//2) cutPaper(x, y+n//2, n//2) cutPaper(x+n//2, y, n//2) cutPaper(x+n//2, y+n//2, n//2) return # 호출한 함수는 중복되지 않도록 종료시킴 if paper[x][y] == 1: cnt_blue += 1 else: cnt_white += 1 n = int(input()) paper = [list..
2021.09.28