Summary
-
Python 정리본
Python에 대해 공부한 내용(주요 개념, 헷갈리는 내용 등)을 한눈에 볼 수 있도록 정리한 게시글입니다. Python 주요 개념 변수 (자료형) 숫자형, 문자형, bool형, Iterable 형(리스트형, 튜플형, 딕셔너리형, 집합형) 숫자형 Python 의 int 자료형은 어떻게 범위가 무한일까? 문자열 탈출문자 (ex. r'string', \' or \") Iterable 형과 관련된 개념 python의 리스트는 Linked List? 리스트 컴프리헨션 call by value vs call by reference (mutable vs immutable) shallow copy vs deep copy 언패킹 (unpacking) map, filter, reduce 사용법 lazy evalution..
-
알고리즘과 자료구조 정리본
파이썬(일부분 코틀린)으로 구현한 알고리즘, 자료구조(이론, 알고리즘 테스트)를 한눈에 볼 수 있도록 유형별로 정리한 게시글입니다. 알고리즘과 자료구조 이론 알고리즘 정렬 파이썬으로 정렬 알고리즘 구현하기 검색 자료구조 정리본 : 파이썬으로 자료구조 구현하기 Hash (해시) Stack (스택) Queue (큐) Heap (힙) 알고리즘 테스트 문제 알고리즘 그리디 알고리즘 정렬 [Programmers] 정렬 - 가장 큰 수 찾기 [Programmers] 정렬 - H Index 자료구조 해시 Python 에서는 Dictionary, Set 이용 [Programmers] 해시 - 완주하지 못한 선수 [Programmers] 해시 - 전화번호 목록 ㅇ
-
[R] R 정리본
R 정리본 R에 대해 공부한 내용(R 기초, 시각화, 회귀 분석 등)을 한눈에 볼 수 있도록 정리한 게시글입니다. R 기초편 1. R 시작하기 (R이란? + 기본 세팅) [R] R 시작하기(R을 배운 이유 + 기본 세팅 in Mac) 2. R 패키지 다운 및 사용하기 [R] 패키지(외부 라이브러리) 다운 및 사용하기 3. R의 변수, 데이터 타입, 연산자 [R] R 기초 (변수, 기본 데이터 타입, 연산자) 4. R의 벡터 [R] 데이터 컬렉션 - 벡터 5. R 문법 [R] R 문법 6. R의 Data Structure (행렬, 배열, 리스트, 데이터 프레임) [R] 행렬과 배열 [R] 리스트 [R] 데이터 프레임 7. apply 계열 함수 [R] apply 계열 함수 - apply, lapply, sa..
Latest Post
-
[Programmers] 해시 - 전화번호 목록
문제 https://school.programmers.co.kr/learn/courses/30/lessons/42577 My Solution Idea. any, startswith 이용 def solution(phone_book): ''' string 에서 subset 확인 ''' for phone in phone_book: if any(other_phone.startswith(phone) for other_phone in phone_book if other_phone != phone): return False return True 다른 전화부를 비교하는데 오버헤드 발생 Other’s Solution https://school.programmers.co.kr/learn/courses/30/lessons/..
-
[programmers] 해시 - 완주하지 못한 선수
문제 https://school.programmers.co.kr/learn/courses/30/lessons/42576 My Solution Idea 1. remove 사용 def solution(participant, completion): for person in completion: participant.remove(person) return participant[0] list의 remove()는 시간 복잡도가 O(1) ~ O(N) ⇒ 효율성 테스트 통과 불가 Idea 2. dict, counter 사용 from collections import Counter def solution(participant, completion): dict_participant = dict(Counter(partici..
-
[Python] 파이썬 경로 다루기 (os.path, pathlib)
파이썬에서는 os.path, pathlib 모듈을 통해 경로를 다룰 수 있습니다. 이번 게시글에서는 두 모듈의 주요 메서드에 대해 알아보겠습니다. os.path os.path 모듈의 주요 메서드는 다음과 같습니다. getcwd() 현재 작업 디렉터리를 반환 os.getcwd() mkdir() 지정된 경로에 새로운 디렉터리(폴더)를 생성 os.mkdir(path) exists() 지정된 경로가 존재하는지 확인 (True/False 값 반환) os.path.exists(path) isdir() 지정된 경로가 디렉터리인지 확인 (True/False 값 반환) os.path.isdir(path) isfile() 지정된 경로가 파일인지 확인(True/False 값 반환) os.path.isfile(path) ab..
-
[Programmers] 정렬 - H Index
문제 https://school.programmers.co.kr/learn/courses/30/lessons/42747 H-Index( 과학자의 생산성과 영향력을 나타내는 지표)를 구하는 문제 H-Index : 어떤 과학자가 발표한 논문 n편 중, h번 이상 인용된 논문이 h편 이상이고 나머지 논문이 h번 이하 인용되었다면 h의 최댓값 Solution 중요 Idea 아무리 인용수(citations) 값이 크더라도 논문 편수가 작으면 H-index 는 작을 수 밖에 없다. ex. [312,521,1021] ⇒ H-index = 3 코드 1 def solution(citations): citations.sort(reverse=True) for h, citation in enumerate(citations, ..
-
[Programmers] 정렬 - 가장 큰 수 찾기
문제 https://school.programmers.co.kr/learn/courses/30/lessons/42746 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 수는 6210입니다. 0 또는 양의 정수가 담긴 배열 numbers가 매개변수로 주어질 때, 순서를 재배치하여 만들 수 있는 가장 큰 수를 문자열로 바꾸어 return 하도록 solution 함수를 작성해주세요. My Solution (Time Out) Idea1 : Permutation 이용 모든 순열에 대해 시도 ⇒ Time Out from..
-
알고리즘과 자료구조 정리본
파이썬(일부분 코틀린)으로 구현한 알고리즘, 자료구조(이론, 알고리즘 테스트)를 한눈에 볼 수 있도록 유형별로 정리한 게시글입니다. 알고리즘과 자료구조 이론 알고리즘 정렬 파이썬으로 정렬 알고리즘 구현하기 검색 자료구조 정리본 : 파이썬으로 자료구조 구현하기 Hash (해시) Stack (스택) Queue (큐) Heap (힙) 알고리즘 테스트 문제 알고리즘 그리디 알고리즘 정렬 [Programmers] 정렬 - 가장 큰 수 찾기 [Programmers] 정렬 - H Index 자료구조 해시 Python 에서는 Dictionary, Set 이용 [Programmers] 해시 - 완주하지 못한 선수 [Programmers] 해시 - 전화번호 목록 ㅇ
-
Python 유용한 함수 정리본
파이썬 프로그래밍을 하면서 알아두면 유용한 함수들을 카테고리별로 정리한 게시글입니다. 내장 함수 리스트, 문자열 1. list() 2. join() 3. split() 4. strip() 5. map() 6. replace() 수학
-
[R 회귀분석] 회귀진단 (영향점, 이상점 진단)
이번 게시글에서는 적합한 회귀모형을 평가하는 방법인 `회귀 진단`에 대해 알아보겠습니다. 회귀진단의 목표는 다음과 같습니다. 모형이 얼마나 데이터 상황을 잘 설명하는지 확인 모형에 대한 각 데이터의 영향에 대해 확인 data
-
[Tistory] Tistory 글에 Latex 수식 쓰기
Tistory에 Latex 적용하기 위 코드를 티스토리 설정 > 좌측 배너 > 꾸미기 - 스킨 편집 > HTML 편집 으로 이동 후 head 태그 사이에 붙여넣기 다른 방법이나 자세한 방법은 다음 글을 참고해주세요. 사용 예시 평소 Latex를 사용하는 것처럼 `$$ (수식) $$`으로 티스토리 글에 쓰면 자동으로 Latex가 적용됩니다. $$ X = \sqrt \frac{1}{2\beta} $$ $$ X = \sqrt \frac{1}{2\beta} $$ 참고자료 [1] 티스토리에서 수식 입력하는 방법!
-
[Tistory] Tistory 개발 일지
Latex로 수식 입력하기
-
[Useful Site] Latex 수식 만드는 사이트
https://editor.codecogs.com/#google_vignette Equation Editor for online mathematics - create, integrate and download Download svg gif png pdf emf 5 pt 9 pt 10 pt 12 pt 18 pt 20 pt 50 80 100 110 120 150 200 300 Transparent White Black Red Green Blue Inline Block WordPress phpBB Tiny Wiki url url encoded xml pre doxygen html latex Formatted string containing your Equation editor.codecogs.com
-
[R 데이터시각화] ggplot
이번 글에서는 R의 데이터 시각화 패키지인 `ggplot`에 대해 알아보겠습니다. 저번 글에서는 R의 내장 함수인 `plot` 함수에 대해 다뤘는데요. 따라서 저번 글에서 다룬 plot의 주요 파라미터들에 대해 알고 있다고 가정하고 설명하겠습니다. 잘 모르시는 경우 먼저 해당 글을 참고해주세요! ggplot 에 대하여.. `ggplot2`는 R에서 사용되는 강력하고 유연한 그래픽 패키지입니다. ggplot의 주요 객체 ggplot2로 생성된 그림은 R의 객체로 구성되는데요. ggplot의 주요 객체를 살펴보면 다음과 같습니다. `ggplot 객체`: 그래픽을 생성하는 기본 객체입니다. 하위 객체 `aes 객체`: 미적 매핑을 정의하기 위한 객체입니다. `geom 객체`: 기하학적 객체를 추가하여 그래프의..
ML&DL
-
[Machine Learning with Python / Chapter 2.1] 결정 트리
/* 본 게시물은 ' Introduction to MachineLearning with Python | 안드레이스 뮐러, 세라 가이도 ' 의 내용과 참고자료를 토대로 작성되었습니다. */ /* 본 글은 개인적으로 공부한 내용을 정리한 글이므로 오류가 있을 수 있습니다. */ 1. 결정트리란? 결정트리는 분류와 회귀 문제에 널리 사용하는 모델이다. 기본적으로 결정 트리는 결정에 다다르기 위해 예/아니오 질문을 이어 나가면서 학습한다. (스무고개와 비슷하다.) 결정트리 장점 트리를 시각화하면 데이터가 어떻게 분류(예측)되는지 확인이 가능하다. 데이터의 스케일에 영향을 받지 않는다. 각 특성이 개별적으로 처리되어 데이터를 분할하는데 데이터 스케일의 영향을 받지 않으므로 결정 트리에서는 특성의 정규화나 표준화 ..
-
[Colab] Colab에서 라이브러리 추가
/* 본 게시물은 ' ' 의 내용과 참고자료를 토대로 작성되었습니다. */ /* 본 글은 개인적으로 공부한 내용을 정리한 글이므로 오류가 있을 수 있습니다. */ Colab 라이브러리 추가하기 1. Google Drive -> Colab Notebooks -> my_env 폴더 생성 2. colab으로 아래 코드 실행 (google drive / my-env로 경로 설정) import os, sys from google.colab import drive drive.mount('/content/drive') my_path = '/content/notebooks' # Colab Notebooks 안에 my_env 폴더에 패키지 저장 os.symlink('/content/drive/My Drive/Colab ..
-
2. gpu 사용하는 가상환경 구성
/* 본 게시물은 ' 나의 첫 머신러닝/딥러닝 | with 허민석 ' 의 내용과 참고자료를 토대로 작성되었습니다. */ /* 본 글은 개인적으로 공부한 내용을 정리한 글이므로 오류가 있을 수 있습니다. */ 참고 자료 [최새환님의 블로그 - Gpu 사용을 위한 CUDA 환경 구성하기] : https://velog.io/@mactto3487/%EB%94%A5%EB%9F%AC%EB%8B%9D-GPU-%ED%99%98%EA%B2%BD-%EA%B5%AC%EC%84%B1%ED%95%98%EA%B8%B0 자세한 방법은 위 참고자료를 참고하길 바란다. 내 컴퓨터 환경 Window 10 RTX 3070 Python 3.9.9 NVIDA DRIVER 496.49 Cuda 11.2.2 cuDNN 11.2 Visual St..
-
1. Machine Learning 이란?
/* 본 게시물은 ' 나의 첫 머신러닝 / 딥 러닝 ' 의 내용과 참고자료를 토대로 작성되었습니다. */ /* 본 글은 개인적으로 공부한 내용을 정리한 글이므로 오류가 있을 수 있습니다. */ 참고 자료 [URL] : 머신러닝이란? 데이터와 알고리즘을 기반으로 추론하는 프로그램으로 정의할 수 있다. 예시로 계산기는 1 + 2 의 답으로 3이 정해져있지만 머신러닝으로 1 + 2 의 답을 얻을 때 3이 아닌 다른 답이 나올 수 있다. 머신러닝(비결정론적 소프트웨어) 은 결정론적 소프트웨어로 해결하기 어려운 문제를 해결하는 방법이다. 이러한 비결정론적 소프트웨어는 스마트폰의 음성인식, 위조 지폐 판독기, 유튜브 알고리즘 등 이미 많이 상용화돼 있다. 머신러닝의 추론은 어떤 데이터를 사용하느냐 어떤 알고리즘을 ..
Project
-
[Project] Helmholtz Coil Simulator 구현
이번 학기에 [자성재료]라는 전공수업을 듣게 되었는데요. 이 과목에서는 특이하게도 총 3번의 팀프로젝트를 진행합니다. 교수님께서 문제와 실험 조건을 알려주시면, 그에 맞게 직접 실험을 설계, 수행, 발표를 하는데요. 이번 게시글에서는 첫번째 팀 프로젝트에서 제가 맡은 간단한 시뮬레이션(?) 프로그램을 만든 경험에 대해 정리해보고자 합니다. 1. 문제 정의 및 개발 동기 1-1. 문제 정의 이번 프로젝트 문제는 크게 단일 코일과 Helmholtz Coil(2개의 코일)를 우리가 원하는 H(Magnetic Field Strength) 값을 얻도록 설계하는 것입니다. (단, 설계조건은 1A 이하, 코일의 지름 5cm 이상) Problem 1. 단일 코일 디자인 코일 중심부의 자기력(Magnetic field ..
-
[APP] Goodnotes 파일에서 녹음파일(MP3) 추출하기
저번에 이미 [Goodnotes 파일에서 MP3 파일을 추출하는 방법]을 다뤘었는데요. 지금 다시 보면, Colab을 처음 접하는 분들에게는 사용하기가 힘들었을 것 같습니다. 또한, 모바일에서는 사용하기 어려움이 있었을 텐데요. 그래서 이번에는 누구나 쉽게 어느 기기에서든 사용할 수 있도록 웹 어플리케이션 형태로 제작해보았습니다. How to use? Goodnotes 앱에서 .goodnotes 파일 추출하기 먼저 추출을 원하는 노트로 들어가서 상단에 `공유하기 버튼을 클릭`합니다. (아래 사진처럼 공유하기 버튼이 없으면 ··· 클릭하여 공유 버튼 클릭) `[모두 보내기]를 클릭`합니다. `GoodNotes로 선택 후 [보내기]를 클릭`한 후 파일을 저장합니다. MP3 파일로 추출하기 이제 아래 사이트로..
-
[STT] OpenAI Whisper로 mp3 파일 텍스트 변환 및 자막 생성하기 (Kaggle Version)
이번 게시글에서는 Kaggle에서 Whisper JAX를 이용하여 mp3 파일을 텍스트로 변환하고 자막을 생성하는 방법을 알려드리려고 합니다. Colab / Kaggle 버전 차이 저번 게시글에서 [Colab에서 mp3 파일 텍스트 변환하는 방법]에 대해 알아보았는데요. Colab 버전과 Kaggle 버전의 차이점은 다음과 같았습니다. 지원 모델 접근성 소요 시간 기타사항 Colab Small / Medium 상대적으로 쉬움. (Interactive Markdown 지원) Kaggle에 비해 오래 걸림. 구글 계정 필요 Kaggle Small / Medium / Large 과정이 colab에 비해 복잡하여 어려울 수 있음. Large 모델도 Colab보다 빠르게 텍스트를 얻을 수 있음. Kaggle 가입..
-
[STT] OpenAI Whisper로 mp3 파일 텍스트 변환 및 자막 생성하기 (Colab Version)
이번 게시글에서는 Colab으로 OpenAI Whisper with Jax를 이용하여 mp3 파일을 텍스트로 변환하고 자막을 생성하는 방법을 소개해드리려고 합니다. ※ 사용법은 바로 [OpenAI Whipser mp3 파일 텍스트 변환하기]부터 읽으시면 됩니다. 프로젝트 목표 이번 프로젝트 개발 동기를 한 문장으로 정리하면 '교수님의 (영어 전용 전공) 강의 녹음 파일를 텍스트로 변환하자!' 입니다. (자세한 개발동기 및 프로젝트 목표는 다음 게시글을 참고해주세요.) 이미 유튜브나 구글에 Open Whisper를 검색해보면 다양한 사용법을 확인할 수 있습니다. 하지만 제 생각에는 아직까지 접근성은 많이 떨어지는 것 같네요. 특히, 로컬 환경에 맞게 세팅하고 사용하는 것은 만만치 않고, 내 컴퓨터의 GPU..
-
[Android] TodoList 앱 개발
/* 본 게시물은 ' 오준석의 안드로이드 생존코딩 | with 오준석 ' 의 내용을 토대로 작성되었습니다. */ 참고 자료 [Android - Room, LiveData, ViewModel로 Reactive 한 데이터 연동] : https://velog.io/@lsb156/Android-Room-LiveData-ViewModel%EB%A1%9C-Reactive%ED%95%9C-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EC%97%B0%EB%8F%99 [RecyclerView + MVVM + Room을 연습해보자!] : https://todaycode.tistory.com/34 #TodoList TodoList 앱 개발에는 RecyclerView, MVVM, Room 데이터베이스의 기초지식이 필요..
-
[앱 개발] Youtube Player Api
/* 본 게시물은 ' ' 의 내용을 토대로 작성되었습니다. */ 참고 자료 [안드로이드 Youtube Andoid Player API 적용방법] : https://simsi6.tistory.com/53 [Kotlin을 사용하여 Youtube 플레이어 빌드] : https://ichi.pro/ko/kotlin-eul-sayonghayeo-youtube-peulleieo-bildeu-194496502378538 1. Youtube Android Player API 다운로드 https://developers.google.com/youtube/android/player/?hl=ko YouTube Android Player API | YouTube for Android | Google Developers YouT..