본문 바로가기

전체 글

(127)
[코딩] 여러 파일에서 특정 키워드를 포함하는 파일 찾기(python) 전공 수업인 데이터 마이닝 오티날에 깜짝 코딩 테스트를 치뤘다. 50분 동안 2문제를 푸는 거였는데 생각보다 어려웠어서 코드를 정리하고 간다. 실습 파일은 아래에서 다운받으면 된다. 문제? 일단 데이터 우리는 다섯개의 문서 파일(txt)이 있다. 문서 안에는 여러 키워드가 존재하는데, 우리는 키워드를 검색하면 그 키워드가 포함된 문서를 찾는 코드를 짜야 한다. 코드 파일 경로 설정은 본인 설정에 맞게 잘 수정하면 된다. 클래스로 짜서 뭐가 복잡하게 보이지만 실제로 핵심 코드는 create() 밖에 없다. class create_word: def __init__(self): self.key=set() self.word_dic={} def create(self, file_route, file_name): d..
[코딩] 넘파이 모듈을 사용하지 않고 행렬곱 코드 짜기(python) 전공 수업인 데이터 마이닝 오티날에 깜짝 코딩 테스트를 치뤘다. 50분 동안 2문제를 푸는 거였는데 생각보다 어려웠어서 코드를 정리하고 간다. 행렬곱이 뭘까? 두 행렬의 곱을 의미한다. 행렬곱은 일반적인 원소곱과 다르다. 뭔지 잘 모른다면 알아보고 오길 바란다. 넘파이 모듈을 사용한 행렬곱 import numpy as np a=np.array([[2,3,0],[8,9,1],[7,0,5]]) b=np.array([[1,2,2],[1,2,1],[1,2,3]]) print(np.dot(a,b)) 모듈을 사용하지 않은 행렬곱 클래스로 짜서 꽤 길어보이지만 핵심 코드는 run 메소드다. class matrix_mul: def __init__(self, a, b): self.a=a self.b=b self.resu..
[Git] 지옥에서 온 문서 관리자 깃&깃허브 , 이지스퍼블리싱를 보고 정리한 글입니다. 깃, 깃허브는 프로그래밍 언어를 학습하는 사람들이라면 한 번 쯤 들어봤을 거다. 실제로 깃허브에 데이터를 저장하고 있는 사람도 있을거다. 그러나 "깃, 깃허브!! 대체 뭐하는 친구들일까??!!" 이 의문에서 출발한 포스팅 출발합니다. 1. 깃과 깃허브란? 깃 : 오픈 소스 버전 관리 프로그램(로컬에서 관리) =>프로그램 깃허브 : 클라우드 기반 호스팅 서비스(서버에서 관리) =>원격 저장소 2. 깃으로 무엇을 할 수 있을까? 버전 관리 : 과제를 하다보면 문서를 수정할 때마다 '최종', '진짜 최종', '최종의 최종'이라는 걸 붙여 본 경험이 있을거다. 이 때 문제점은 언제, 어떤 것을 수정했는지 알 수 없다는 거다. 깃은 문서를 수정할 때마다 언제, 어떤 것을..
[Git] 컴퓨터를 바꿨을 때 vscode에서 깃허브 다시 연동하기 드디어 바람의 협곡에 있던 연구실 오빠의 동방에서 탈출하여 본관 연구실로 이동했다. 이제 깃허브 연동해야지.. 했는데 뭥미.. 어떻게 하는 지 다 까먹었을 뿐더러 저번에 얼랑뚱땅 연동을 해서 당황한 나머지 깃허브를 외면하고 있었다. 그런데 이제 논문 쓰면서 코드가 점점 생기는데 관리가 어려워져서 다시 연동함. 대부분의 IDE(visual studio, pycharm 등)는 깃허브 연동을 쉽고 간편하게 할 수 있도록 되있다. vscode도 예외는 아니였지만 없는 줄 알고 command line에다가 명령어 입력하면서 머리를 쥐어뜯었다. 일단 참고한 사이트는 아래 두 개이다. https://docs.microsoft.com/ko-kr/azure/developer/javascript/how-to/with-vi..
[SQL] SQLYLOG, SQL 원격 접속 작년에 DB/WEB 프로젝트 때문에 SQLYLOG로 원격 접속을 했었는데, 왜 인지 연결이 끊겨있어서 다시 연결했다. 언제 쓰는가? 나의 경우 프로젝트를 하는데 DB를 핑퐁 오빠 컴에 저장해서, 내 컴퓨터에서도 보기 위해 원격으로 연결했다. (당시 연구실 없던 떠돌이 한우.. 학과 하드웨어 탑티어에 속한 연구실 다니던 핑퐁 오빠..) 어떻게 연결하는가? 기본적으로 컴퓨터에 두 개가 설치되어 있어야 한다. MySql sqlylog https://github.com/webyog/sqlyog-community/wiki/Downloads GitHub - webyog/sqlyog-community: Webyog provides monitoring and management tools for open source ..
[코딩] 카카오톡 채팅방 분석, 빈도수 높은 단어 개발 목표 : 카카오톡 대화 파일에서 빈도수가 높은 명사 추출 개발 환경 : COLAB 개발 시간 : 약 3일 사전 준비 1. konlpy 모듈을 설치. 참고로 자연어 처리 모듈로 여러가지 자연어 처리 모델이 들어있다. !pip install konlpy 2. 코랩에서 구글 드라이브 연동하는 코드. 코랩에서 쓸 거 아니면 그냥 파일 경로 쓰면 된다. from google.colab import drive drive.mount('/drive') - 코랩에서 파일 경로는 사진과 같이 복사할 수 있다. 3. 카카오톡 대화 파일 세줄=> 대화내용=> 대화 내보내기 전체 코드 import pandas as pd from konlpy.tag import Okt import operator file="파일 경로" d..
[백준 1100번] 하얀 칸 python과 eval 함수 https://www.acmicpc.net/problem/1100 1100번: 하얀 칸 체스판은 8×8크기이고, 검정 칸과 하얀 칸이 번갈아가면서 색칠되어 있다. 가장 왼쪽 위칸 (0,0)은 하얀색이다. 체스판의 상태가 주어졌을 때, 하얀 칸 위에 말이 몇 개 있는지 출력하는 프로그램 www.acmicpc.net 2차원 리스트로 입력받아서 인덱스가 짝수일 때는 짝수칸 위에 F가 올라간 경우, 인덱스가 홀수 일 때는 홀수 칸 위에 F가 올라간 경우를 샌다. #입력 chess_board=[] for i in range(8): b=input() board=[] for i in b: #문자열 토큰화 board.append(i) chess_board.append(board) #연산 count=0 for i in ..
[백준 2039번] 일곱 난쟁이 python과 combinations https://www.acmicpc.net/problem/2309 2309번: 일곱 난쟁이 아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다. www.acmicpc.net #입력 tall_list= [int(input()) for i in range(9)] tall_sum=0 #일곱 난쟁이의 키 합 for t in tall_list: tall_sum+=t tall_sum-=100 sum=0 flag=True; i=0 #연산 while(flag and i