파이썬 60

#8_ 야근 지수(정확도 o, 효율성 o, 프로그래머스 level3)

안녕하세요. 문범우입니다. 오랜만에 파이썬으로 풀이한 재밌는 알고리즘 문제를 가져왔습니다.알고리즘 문제는 프로그래머스의 알고리즘 연습에 나온 야근 지수 문제이며 해당 문제는 아래 주소에서 풀어볼 수 있습니다.문제에 대한 설명도 해당 주소에 나와있기에 문제에 대한 설명은 생략하겠습니다.https://programmers.co.kr/learn/courses/30/lessons/12927 사실 예전에 매우 간단히 풀이한 문제인데다시 확인해보니 문제 개편이 되면서..테스트 케이스가 매우 까다롭게 변했더라구요.그래도 정확도 통과는 비교적 무난했지만, 효율성 테스트에서 계속 막혀 씨름을 하다가 마침내 풀게되었습니다.코드와 함께 간단한 해설을 첨부합니다.추가적으로 궁금하신점이 있으신분들은 이메일이나 카카오톡으로 언제..

알고리즘 #11_ KNN 최근접 이웃 알고리즘이란?

안녕하세요. 문범우입니다. 이번 포스팅에서는 분류나 회귀에서 사용되는 KNN(K - Nearest Neighbors) 알고리즘에 대해서 알아보도록 하겠습니다. 1. KNN(K - Nearest Neighbors) KNN, K-최근접 이웃 알고리즘은 특정공간내에서 입력과 제일 근접한 k개의 요소를 찾아, 더 많이 일치하는 것으로 분류하는 알고리즘입니다. 말로 이해하는 것보다 아래 그림을 통해 이해하는 것이 훨씬 쉬울 것 입니다. 위의 그림과 같은 좌표공간을 예시로 확인해보겠습니다.위에서 파란색 점으로 되어 있는 그룹을 A그룹이라고 생각하고, 주황색 점으로 되어 있는 그룹을 B라고 하겠습니다.이때 우리는 별 모양으로 표시된 입력값이 A그룹에 속하는지, B그룹에 속하는지를 알고 싶습니다. 그리고 이럴때 사용되..

파이썬(python) #23_ 컴프리헨션(Comprehension) 이란?

안녕하세요. 문범우입니다.이번 포스팅에서는 파이썬에서 사용되는 컴프리헨션(Comprehension)이라는 개념에 대해서 알아보도록 하겠습니다. 1. 컴프리헨션(Comprehension)이란? 일단, 파이썬에서 사용되는 Comprehension이 무엇인지 알아보기 전에, 어떤 의미를 가지고 있는 단어인지 살펴보았습니다.사전적으로는 이해, 이해력, 포용, 포용력, 포함, 압축 등의 뜻을 가지고 있습니다.단순히 이런 의미로는 대체 어떻게 파이썬에서 사용되는지 감이 쉽게 안오실텐데, 하나씩 천천히 살펴보시면 충분히 이해하실 수 있을 것입니다. 앞으로 알아보는 Comprehension을 보다 제대로 이해하기 위해서는 기본적으로 파이썬의 조건문, 반복문 등의 개념을 알고 있으셔야 하며 해당 개념은 리스트, 집합(s..

pandas(판다스) 기초 정리

안녕하세요. 문범우입니다. 이번 포스팅에서는 파이썬 라이브러리인 pandas(판다스)에 대해서 알아보도록 하겠습니다. 해당 내용은 flearning의 김길호님의 강의를 바탕으로 작성되었습니다. https://www.flearning.net/courses/6 1. Pandas 란? Pandas는 파이썬에서 사용하는 데이터분석 라이브러리로, 행과 열로 이루어진 데이터 객체를 만들어 다룰 수 있게 되며 보다 안정적으로 대용량의 데이터들을 처리하는데 매우 편리한 도구 입니다. 먼저 pandas를 사용하기 위해서는 pandas를 설치한 이후에 아래와 같이 import를 해야 합니다. import pandas as pd 아래 실습에서는 jupyter notebook을 사용하였습니다. Pandas 기초¶ 1. Pan..

플라스크(Flask) #4_ 파이썬 플라스크 기초다지기 1편

안녕하세요. 문범우입니다.이번 포스팅을 시작으로 해서, 파이썬 기반 웹 프레임워크인 플라스크(Flask)에 대한 기초다지기 강의를 시작할 예정입니다.해당강의는 서울시립대학교 멋쟁이사자처럼 python 스터디에서 진행되는 강의이며 블로그에 게시되는 내용들은 각 수업을 정리하여 스터디에 참석하지 못한 인원이나 복습용입니다.(추가로 영상촬영을 생각하고 있지만 아직 실질적인 계획은 없습니다.) 해당 수업은 다음과 같은 분들을 대상으로 진행됩니다.- HTML, CSS 에 대해서 기본적으로 알고계시는 분들(직접적으로 사용되지는 않습니다.)- Python에 대해 관심이 있고 흥미가 있으신 분들(문법이 크게 중요시되지 않습니다. 파이썬 문법이 매우 simple하고 쉽기 때문에 중간중간 필요한 것들에 대해서는 설명드릴 ..

Web 관련/Flask 2018.05.29

파이썬(python) #22_ 언더스코어(_)란?

안녕하세요. 문범우입니다.이번 포스팅에서는 파이썬에서 사용되는 언더스코어(_)에 대해서 정리해보고자 합니다.언더바라고도 읽는, ' _ ' 와 같은 표시를 언더스코어라고 하는데 이것이 파이썬에서는 보다 특별한 의미를 가지고 사용되는 경우가 있습니다. 어떤 의미로 어떻게 사용되는지 하나씩 알아보도록 하겠습니다.1. 값을 무시하고 싶은 경우 제일 먼저 알아볼 경우는 값을 무시하고 싶은 경우입니다. 물론 쓰레기 변수를 만들어서 사용해도 되겠지만 언더스코어를 사용하는 경우 더 깔끔하고, 코드를 확인할 때 사용하지 않는 값임을 나타내기 때문에 보다 직관적일 수 있다고 생각합니다.사실상, 값을 무시하는 경우가 언제 필요할까? 라는 생각이 드시는 분도 있겠지만 간단하게는 아래와 같은 코드에서 값을 무시할 경우가 생깁니..

파이썬(python) #21_ 정규 표현식::메타문자 총 정리!

안녕하세요. 문범우입니다.이번 포스팅에서는 정규표현식에서 사용되는 메타문자에 대한 총정리를 해보려 합니다.지난 포스팅에서 기본적인 메타문자들을 정리해보았는데, 그 내용들을 포함해서 함께 정리해보도록 하겠습니다.정규표현식에 대해 조금 더 궁금하신 분들은 아래의 포스트를 참고해주시길 바랍니다 :) 정규표현식이란? (1) 정규표현식이란? (2) 1. 백슬래시(\) 우리가 메타문자에 대해 총 정리를 하기 앞서서, 정규표현식을 사용할 때 혼란이 될 수도 있는 백슬래시(\)에 대해서 잠깐 이야기해보겠습니다.먼저 백슬래시는 보통 자판의 엔터위에 있는 버튼을 통해 입력할 수 있습니다. 우리가 정규표현식을 이용하여 TEST라는 파일에서 "\section" 이라는, 백슬래시를 포함한 문자열을 찾으려고 한다고 생각해봅시다...

파이썬(python) #20_ 정규 표현식이란? (2)

안녕하세요. 이번 포스팅에서는 파이썬에서 정규 표현식을 지원하는 re모듈, 정규식을 이용한 문자열 검색과 정규식 컴파일 수행시 가능한 옵션에 대해서 알아보도록 하겠습니다.지난 포스팅에서도 말씀 드렸듯, 정규표현식은 단순히 파이썬에서만 사용되는 것이 아닙니다. 기본적인 정규표현식을 익혀두시면 그 쓰임새는 무궁무진하며, 단순히 프로그래밍 언어에 따라 사용법만 약간의 차이가 있을 뿐 입니다. 1. re 모듈 파이썬에서는 정규 표현식을 사용하기 위해 re(regular expression) 모듈을 제공합니다. 파이썬이 설치될 때 함께 설치되는 라이브러리로 단순히 import 하여 사용할 수 있습니다. import re 그리고 re모듈을 이용하여 우리가 작성하는 정규표현식을 컴파일합니다.여기서 컴파일한다는 의미를..

#6_ 파이썬으로 링크드 리스트(Linked list) 구현하기

안녕하세요.이번 포스팅에서는 파이썬을 이용하여 링크드 리스트를 구현해보도록 하겠습니다. 1. 링크드 리스트(Linked list)란? 먼저 링크드 리스트가 무엇인지 간단히 살펴보도록 하겠습니다. 링크드 리스트는 위와 같이 세개의 형태를 가지고 있습니다.그림에서 두번째, 양방향 연결 리스트는 *Prev 가 자신보다 앞의 요소를 가르키는 것입니다.단순히 단방향 연결리스트를 구현하면 어떤 요소의 앞의 요소를 탐색하기 위해서 결국 다시 처음부터 검색을 진행해야 하는 일이 발생할 수 있기 때문에 수행능력이 보다 안좋을 수 있습니다.이러한 것을 보완하기 위해 양방향 연결 리스트 및 환형 연결 리스트라는 개념이 있는데, 이들은 단방향 연결 리스트보다 구현하기는 상대적으로 어려울 수 있지만 앞에서 말씀 드린 상황과 같..

#5_ 파이썬으로 큐(queue) 자료구조 구현하기

안녕하세요.이번 포스팅에서는 파이썬으로 큐 자료구조 구현에 대한 내용을 소개해드리도록 하겠습니다.1. 큐(Queue)란? 먼저 큐 자료구조에 대해서 간단하게나마 알아보도록 하겠습니다. 큐 자료구조는 위의 그림과 같이 요소(item)을 삽입하는 Enqueue 기능과 요소를 빼내는 Dequeue 기능이 있습니다.그리고 처음에 삽입한 요소가 먼저 빠지게 되는 First In First Out(FIFO) 특징을 가지고 있습니다. 2. 큐(Queue) 구현하기 제가 파이썬 코드로 구현한 큐 자료구조는 위에서 말씀드린 Dequeue 기능과 Dequeue 기능을 포함한, 큐가 비어있는지 확인하는 isEmpty 기능을 구현하였으며 추가로 큐가 비어있을때 Dequeue를 수행하면 에러메세지와 함께 False 값을 리턴하..

728x90