popular posts🖤
-
OOP
[OOP] (3) 메소드의 종류 : 인스턴스 메소드, 클래스 메소드, 정적 메소드 (with 파이썬 코드) & 특수메소드
Hello👋 I'm Dona!:) 객체 지향프로그래밍 영어로는 OOP(Object-Oriented-Programming) 정리하기 3탄! 🏡 객체지향 프로그래밍에서, 클래스 안에서 사용되는 함수인 메소드의 종류에는 크게 3가지가 있다. 인스턴스 변수의 값을 읽거나 설정하는 메소드인 인스턴스 메소드(instance method) 클래스 변수의 값을 읽거나 설정하는 메소드인 클래스 메소드(class method) 인스턴스 변수, 클래스 변수를 전혀 다루지 않는 메소드인 정적 메소드(static method) 차근차근 코드와 함께 알아보자👀 1. 인스턴스 메소드(instance method) 인스턴스 변수의 값을 읽거나 설정하는 메소드 인스턴스 메소드를 사용하는 방법 (2번 방법을 많이 사용한다) {클래스 이..
-
programming
[가상환경] 가상환경이란 & 아나콘다 실습과 명령어 모음🏠
가상환경(Virtual Environments)이 뭐예요❓ 기본적으로 가상 환경이 있는 가장 큰 이유는 "프로젝트를 위한 격리된 환경을 만드는 것"입니다. 쉽게 말해서 프로젝트마다 해당 프로젝트에 필요한 모듈만 담아서 만든 바구니라고 생각하시면 됩니다!🧺🧺🧺 아직까지는 이해가 잘 안가실 수도 있습니다. 아래의 가상환경의 필요성을 읽어봅시다! 가상환경의 필요성 Python을 포함하여 대부분의 프로그래밍 언어들은 패키지(또는 모듈)의 버전을 계속해서 최신화하고 있습니다. 버전마다 일부 기능들은 없어지거나 새로 생깁니다. 지금 저에게 필요한 특정 기능이 최신 버전에는 없을 수도 있기 때문에 최신 버전이 무조건 좋은 것은 아니겠죠? :) 하지만 하나의 환경에는 패키지당 하나의 버전만 설치할 수 있습니다. (여러..
-
solve-algorithm
백준 1929[소수 구하기] : 파이썬 & 시간초과 해결방법 & 소수 판정, 에라토스테네스의 체
📎 Problem https://www.acmicpc.net/problem/1929 1929번: 소수 구하기 첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다. www.acmicpc.net 📎 Submission Code 알고리즘 문제를 풀 때, 1가지 방식으로만 접근하기보다는 다양한 방법으로 접근하는 습관을 가지자👊🏻 # case 1 '''에라토스테네스의 체 활용하기 : 시간을 줄이기 위해서 루트한 부분까지만 for 반복문''' import sys M, N = map(int, sys.stdin.readline().split()) prime_num = [] for i in range(M, N+1..
-
solve-algorithm
백준 2108 [통계학] : 파이썬 & 구현 ,정렬 (with for 반복문 & Counter & statistics) 3가지 방법으로 풀어보기
📌 문제 https://www.acmicpc.net/problem/2108 2108번: 통계학 첫째 줄에 수의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 단, N은 홀수이다. 그 다음 N개의 줄에는 정수들이 주어진다. 입력되는 정수의 절댓값은 4,000을 넘지 않는다. www.acmicpc.net 🔍 풀이 총 세가지 방법으로 풀어보았습니다. 개인적으로는 Counter 모듈로 푸는 방법이 가장 깔끔하고 마음에 들었습니다🥕 산술평균, 중앙값, 범위는 아래와 같이 문제에 그대로 나와있어서 부가적인 설명은 하지않겠습니다:) 혹시나 궁금하시면 댓글주시면 설명드리겠습니다. 산술평균 : N개의 수들의 합을 N으로 나눈 값 중앙값 : N개의 수들을 증가하는 순서로 나열했을 경우 그 중앙에 위치하는 값 최빈값 ..
-
DA
[web crawling] python requests & Beautiful Soup를 활용하여 원하는 정보 추출하기
1. 웹 크롤링(web crawling)을 배우는 이유 웹 크롤링이란 웹페이지(또는 웹 사이트, static document) 내에 있는 정보를 추출하는 행위, 즉 인터넷 콘텐츠를 색인화하는 과정을 의미함 데이터 분석에 활용하고싶은 데이터를 웹 페이지에서 추출할 수 있기때문에 중요함 Beautiful Soup 라이브러리는 html과 xml 문서를 parsing 할 수 있고, Selenium은 동적 크롤링을 효과적으로 수행할 수 있는 라이브러리이다. 두 라이브러리의 차이가 궁금하다면 다음 링크를 클릭하여 참고 HTML의 기본적인 이해가 있어야함 2. requests & Beautiful Soup 활용 requests : 원하는 웹 페이지의 html 문서를 싹 긁어온다. Beautiful Soup : htm..
-
error-record
[Error] Tensorflow | 딥러닝 이진분류 | valueerror: classification metrics can't handle a mix of binary and continuous targets
tensorflow를 이용하여 딥러닝을 구현하던 중, 마지막 모델 평가 부분에서 아래와 같은 에러가 났다. valueerror: classification metrics can't handle a mix of binary and continuous targets 처음에는 다짜고짜 구글링부터 하였는데, 나와 다른 경우의 사람들도 같은 에러가 굉장히 많이 난 것을 확인할 수 있었다. 에러 메세지 자체를 해석해 보면 값 오류 : 분류 메트릭은 이진 및 연속 대상의 혼합을 처리할 수 없습니다. 결국 다시 코드로 돌아와서 확인을 해보니, 친절하게도 Traceback에서 어디서 오류가 시작되었는지 힌트를 주고 있었다. 문제가 되었던 코드는 아래와 같다. from sklearn.metrics import classi..
-
error-record
[mac-m1] install 에러(Error: Cannot install under Rosetta 2)
▪️solution code # error brew install yarn # solution arch -arm64 brew install yarn ▪️error message Error: Cannot install under Rosetta 2 in ARM default prefix (/opt/homebrew)! 오류: ARM 기본 접두사(/opt/homebrew)의 Rosetta 2 아래에 설치할 수 없습니다! m1칩으로 사고나서 종종 이러한 에러를 마주쳤다. arch -arm64 명령어만 앞에 추가해주면 설치가 바로 되버린다. 👍 경로차이인 것 같은데, 에러 메세지에도 친절하게 말을 해줘서 너무 좋다.
-
python-programming
[python] 문자열 포매팅 : print Formattiing 3가지 방법 정리 & 연습문제 추천 - 백준 3053 [택시 기하학]
1. % 연산자 3가지 방법 중, 가장 오래된 방식으로 이제는 잘 쓰지 않는 옛날 방식에 속함(그래도 알아두자) 코드 설명 %s 문자열(String) %c 문자 1개(character) %d 정수(Integer, d : decimal) %f 부동소수(floating-point) %o 8진수 %x 16진수 %% Literal % (문자 % 자체) # example code # %d : 정수형 print('%d' %(3)) # 3 print('%d' %(3.529)) # 3 -> 주의: 실수를 넣어도, 버림을 하고 정수만 출력! print('%d %d' % (1, 2)) # 1 2 # %f : 실수형 print('%f' % 3.14) # 3.14000 -> 기본 : 소수점 이하 5자리까지 출력 print('..
-
OOP
[OOP] (1) 클래스, 객체, 인스턴스, 객체지향 vs 절차지향 프로그래밍 정의
Hello👋 I'm Dona!:) 객체 지향프로그래밍 영어로는 OOP(Object-Oriented-Programming)를 정리해보자! 🏡 🔍 객체란? 우선, 위키백과를 먼저 뜯어보면 아래와 같이 정의하고 있다. 컴퓨터 과학에서 객체 또는 오브젝트(object)는 클래스에서 정의한 것을 토대로 메모리(실제 저장공간)에 할당된 것으로 프로그램에서 사용되는 데이터 또는 식별자에 의해 참조되는 공간을 의미하며, 변수, 자료 구조, 함수 또는 메소드가 될 수 있다. 프로그래밍 언어는 변수를 이용해 객체에 접근하므로 객체와 변수라는 용어는 종종 함께 사용된다. 그러나 메모리가 할당되기 전까지 객체는 존재하지 않는다. 클래스? 메모리? 식별자? 어려운 말이 잔뜩 있는데, 쉽게 정의하면 아래와 같이 생각할 수 있다 ..
-
solve-algorithm
브루트포스(Brute-force search) : 백준 14719 [빗물] & 파이썬
브루트포스 알고리즘을 공부하면서, 백준 문제에도 적용을 해보았습니다! 👀 반복 숙달을 통해 더욱 익숙해지자! 🏆 참고로 해당 문제는 leet_code에서도 찾을 수 있었습니다. 해당 문제도 업데이트해보겠습니다. 주소는 제일 아래 reference에 추가하겠습니다. 🔍 Brute-force search 그대로 해석하면 "무차별 대입 검색" 의미 그대로, 무차별적으로 가능한 모든 경우의 수를 시도해 보는 알고리즘 가장 순진한 알고리즘 접근법 예를 들어, 비밀번호 4자리 자물쇠가 있다고 하면, 0000부터 9999까지 전체를 다 확인하는 것! 이미지는 여기에서 가지고 왔습니다. 👍 장점 직관적이고 명확하다 답을 확실하게 찾을 수 있다 😵💫 단점 모든 경우를 보기 때문에 비효율적임 ➡️ 인풋이 커질수록 비효율..