반응형 전체 글231 [1주차 - Day4] 파이썬을 무기로 코딩테스트 광탈을 면하자! (2) 힙(Heap) 대표 문제 풀이: 더 맵게 # 섞은 음식의 스코빌 지수 = 가장 맵지 않은 음식의 스코빌 지수 + (두 번째로 맵지 않은 음식의 스코빌 지수 * 2) import heapq def solution(scoville, K): answer = 0 heapq.heapify(scoville) while True: min1 = heapq.heappop(scoville) if min1 >= K: break elif len(scoville) == 0: answer = -1 break min2 = heapq.heappop(scoville) new_scoville = min1 + 2 * min2 heapq.heappush(scoville, new_scoville) answer += 1 return answe.. 2023. 3. 16. 정규 표현식(Regular Expression) 정규 표현식이란 특정한 규칙을 가진 문자열의 집합을 표현하는 데 사용하는 형식 언어입니다. 자연어를 대상으로 원하는 단어만 추출하기 위해서 단어가 되기 위한 일정한 패턴이 존재하는데, 이러한 패턴을 표준화된 텍스트 형식으로 나타낸 것을 정규 표현식이라 하며, 이때 텍스트를 구성하는 하나의 문자를 메타문자라고 합니다. 메타문자 정규표현식에서 일정한 의미를 가지고 있는 특수문자를 메타문자(Meta characters)라고 합니다. 메타 문자는 대부분의 프로그래밍 언어에서 표준으로 사용됩니다. 주요 메타문자 메타문자 정규 표현식 의미 . .x 또는 x. 임의의 한 문자가 x앞이나 뒤에 오는 패턴 지정 ^ ^x x로 시작하는 문자열(접두어 패턴 지정) $ x$ x로 끝나는 문자열(접미어 패턴 지정) * x* x.. 2023. 3. 16. [1주차 - Day3] 파이썬을 무기로 코딩테스트 광탈을 면하자! (1) 해시(Hash) 대표 문제 풀이: 완주하지 못한 선수 def solution(participant, completion): d = {} for x in participant: d[x] = d.get(x, 0) + 1 for x in completion: d[x] -= 1 dnf = [k for k, v in d.items() if v > 0] answer = dnf[0] return answer 탐욕법(Greedy) 대표 문제 풀이: 체육복 def solution(n, lost, reserve): u = [1] * (n + 2) for i in reserve: u[i] += 1 for i in lost: u[i] -= 1 for i in range(1, n + 1): if u[i - 1] == 0 and.. 2023. 3. 15. 객체지향프로그래밍 연습문제 [문제 1] 다음과 같은 에 맞게 Rectangle 클래스를 작성하시오. 1. 멤버변수: 가로(width), 세로(height) 2. 생성자: 가로(width), 세로(height) 멤버 변수 초기화 3. 메서드(area_calc): 사각형의 넓이를 구하는 함수 사각형 넓이 = 가로 * 세로 4. 메서드(circum_calc): 사각형의 둘레를 구하는 함수 사각형 둘레 = (가로 + 세로) * 2 5. 기타 세부내용은 참조 사각형의 넓이와 둘레를 계산합니다. 사각형의 가로 입력: 10 사각형의 세로 입력: 5 --------------------------------- 사각형의 넓이: 50 사각형의 둘레: 30 --------------------------------- class Rectangle: #.. 2023. 3. 15. [1주차 - Day2] 어서와! 자료구조와 알고리즘은 처음이지? (2) 스택 (Stacks) 스택은 마지막에 넣었던 것부터 넣은 순서의 역순으로 꺼내지는 자료 구조입니다. size(): 현재 스택에 들어 있는 데이터 원소의 수를 구합니다. isEmpty(): 현재 스택이 비어 있는지를 판단합니다. (size() == 0?) push(x): 데이터 원소 x를 스택에 추가합니다. pop(): 스택에 가장 나중에 저장된 데이터 원소를 제거합니다. (또한, 반환합니다) peek(): 스택에 가장 나중에 저장된 데이터 원소를 참조 (반환), 그러나 제거하지 않습니다. 큐 (Queues) 큐는 데이터 원소를 한 줄로 늘어 세우는 자료 구조입니다. 선형구조: 데이터 원소를 한 줄로 늘어 세우는 자료 구조 선입선출 (FIFO; first-in first-out): 어느 시점에서 큐에 들어.. 2023. 3. 14. 패키지와 모듈 파이썬을 설치하면 사용자 컴퓨터에 기본적으로 파이썬의 기본 라이브러리(Library)가 설치됩니다. 라이브러리는 폴더의 모양을 띤 패키지(Package)와 파일(*. py) 형식으로 제공하는 모듈(Module)로 분류됩니다. 패키지는 관련 있는 모듈들을 하나의 꾸러미 형태로 묶어주는 역할이고, 모듈은 함수나 클래스를 파일로 작성해서 제공됩니다. 라이브러리 import 라이브러리를 사용하기 위해서는 먼저 패키지나 모듈을 import해야 합니다. 형식 import 모듈# 모듈 멤버 가져오기 import 패키지.모듈# 패키지에 포함된 모듈의 멤버 가져오기 from 패키지.모듈 import 함수, 클래스, ...# 함수, 클래스 가져오기 산포도 패키지(myPackage)는 산포도 모듈(scattering.py).. 2023. 3. 14. [1주차 - Day1] 어서와! 자료구조와 알고리즘은 처음이지? (1) 첫째 날은 라이브 세션으로 30년 차 실리콘밸리 데이터 엔지니어 강사님의 강연을 들었습니다. 주니어 개발자로서 갖춰야 할 태도와 자세가 주된 내용이었습니다. 끊임없이 탐구하고, 커리어의 굴곡을 이해하고, UP & DOWN을 현명하게 대처해야 한다는 말이 제 뇌리에 박혔습니다. 새로운 기술의 습득이 아닌 결과를 내는데 초점 맞추기 아주 나쁘지 않은 환경에 있다는 전제 자신이 맡은 일을 잘하기 위해서 필요한 기술습득 ex) 자동화하기 혹은 실행시간 단축하기 자신이 맡은 일의 성공/실패를 어떻게 결정하는지 생각 - 매니저와의 소통이 중요, 성공/실패 지표에 대해서 생각 시작과 꾸준함의 중요성 아무 일도 안 하면 아무런 일도 발생하지 않음: 시작이 반 Practice Makes Perfect - 꾸준히 매일 하.. 2023. 3. 13. 내장클래스 클래스는 함수와 마찬가지로 사용자가 직접 정의하는 사용자 클래스와 라이브러리 형식으로 제공되는 내장클래스로 분류됩니다. 파이썬에서는 풍부한 라이브러리를 통해서 수많은 함수와 클래스를 제공하고, 이를 이용하여 애플리케이션을 개발하거나 자료 분석에 활용합니다. 파이썬에서 제공하는 내장클래스를 사용하기 위해서는 다음과 같은 형식으로 import 명령어를 이용하여 모듈을 포함시켜야 합니다. 형식 1) import 모듈명 2) from 모듈명 import 클래스명1, 클래스명2, ... 한편 builtins 모듈에서 제공하는 내장함수와 동일하게 내장클래스도 import 없이 사용할 수 있습니다. builtins 모듈 내장클래스 import가 필요 없는 builtins 모듈의 enumerate 내장클래스의 생성자를.. 2023. 3. 13. 객체지향 기법 캡슐화 자료와 알고리즘이 구현된 함수를 하나로 묶고, 공용 인터페이스만으로 접근을 제한하여 객체의 세부 내용을 외부로부터 감추는 기법을 캡슐화(encapsulation)라고 합니다. 클래스에서 은닉정보는 변수 앞부분에 _기호를 연속하여 두 개 넣으면 외부에서 접근이 불가능한 은닉(private) 변수가 됩니다. 그리고 은닉 변수를 외부에서 접근할 수 있는 공용 인터페이스는 획득자(getter)와 지정자(setter)로 분류합니다. 실습 캡슐화 예시 class Account: # (1) 은닉 멤버변수 __balance = 0# 잔액 __accName = None# 예금주 __accNo = None# 계좌번호 # (2) 생성자: 멤버변수 초기화 def __init__(self, bal, name, no): .. 2023. 3. 12. 클래스(Class) 클래스와 객체는 객체지향프로그래밍에서 나오는 용어입니다. 클래스(Class)는 프로그램을 이용해서 객체를 만들어주는 역할을 하고, 객체(Object)는 클래스에 의해서 만들어지는 결과물(Instance)을 말합니다. 클래스 클래스의 속성은 자료(data)를 나타내며, 명사 형태로 기술합니다. 속성 앞부분의 (-, +)는 외부에서 접근여부를 나타내는 기호입니다. - 기호는 외부에서 접근을 차단하여 해당 자료를 은닉(private)화 시키고, +는 외부에서 접근을 허용하도록 공용(pubic)화 시킵니다. 또한 클래스의 행위는 자료를 연산하거나 조작하는 역할을 하며, 동사 형태로 기술하고, 프로그램에서는 기능을 정의하는 함수로 표현합니다. 객체 객체는 클래스에 의해서 만들어지는 결과물입니다. 클래스의 속성에 .. 2023. 3. 11. 프로그램 블록 만들기 연습문제 [문제 1] 다음 height 변수에 별(star)의 층수를 입력하면 각 층마다 별의 개수가 한 개씩 증가하여 출력되고, 마지막 줄에 별의 개수를 출력하시오. height: 3 ← 키보드 입력 * ** *** start 개수: 6 # 함수 정의 def StarCount(height): # 층수, 별수 변수 선언 h_cnt = s_cnt = 0 while h_cnt < height: h_cnt += 1# 층수 카운터(1,2,3) print('*'*h_cnt)# 별 출력 s_cnt += h_cnt# 별수 카운터 return s_cnt [문제 2] 중첩함수를 적용하여 다음 에 맞게 은행계좌 함수를 완성하시오. # 함수 정의 def bank_account(bal): balance = bal# 잔액 초기화(100.. 2023. 3. 10. Part1. Chapter 04 - 오늘 밤 유럽 축구, 어디가 이길까_ 데이터로 분석하고 내기르.. Step 1. 데이터셋 준비하기 import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn as sns 데이터 출처: https://www.kaggle.com/hugomathien/soccer Colab Notebook에 Kaggle API 세팅하기 import os # os.environ을 이용하여 Kaggle API Username, Key 세팅하기 os.environ['KAGGLE_USERNAME'] = 'jhighllight' os.environ['KAGGLE_KEY'] = 'xxxxxxxxxxxxxxxxxxxxxxx' 데이터 다운로드 및 압축 해제하기 # Linux 명령어로 Kaggle API를 이용하.. 2023. 3. 9. 이전 1 ··· 10 11 12 13 14 15 16 ··· 20 다음 반응형