[python] 실전에서 유용한 표준 라이브러리
·
코딩테스트/코딩테스트를 위한 정리
1. 내장함수 : 기본 입출력, 정렬1) sum()2) min().max()3) eval() :식을 계산해서 나타냄 4) sorted() : 리스트 정렬  2. intertools  : 반복되는 형태의 데이터를 처리 ex)순열,조합1) 순열 : 서로 다른 n개에서 서로 다른 r개를 택하여 일렬로 나열from itertools import permutationsdata = ['A','B','C']result = list(permutations(data,3))print(result) 2) 조합 : 서로 다른 n개에서 순서 상관없이 서로 다른 r개 선from itertools import combinationsdata = ['A','B','C']result = list(combinations(data,2))p..
알고리즘 성능 평가
·
코딩테스트/코딩테스트를 위한 정리
복잡도 낮추기-시간 복잡도: 특정한 크기의 입력에 대하여 알고리즘의 수행시간 분석-공간 복잡도: 특정한 크기의 입력에 대하여 알고리즘의 메모리 사용량 분석 python : 통상 5~15초 가량의 시간이 소요됨.코테에서 시간 제한은 통상 1~5초시간 제한이 1초인 문제 기준 N의 범위시간 복잡도500O(N^3)2000O(N^2)100,000O(NlogN)10,000,000O(N)  알고리즘 문제 해결 과정1. 지문 읽기 및 컴퓨터적 사고2. 요구사항(복잡도) 분석3. 문제 해결을 위한 아이디어 찾기4. 소스코드 설계 및 코딩 수행 시간 측정 소스코드 예제import timestart_time = time.time() #측정 시작##프로그램 소스 코드 ##end_time = time.time() #측정 종료..
[웹크롤링]Web 구조와 개념
·
Dev/웹크롤링
Server & Client Architecture- client : 브라우저를 활용해 서버에 데이터를 요청 ( request)- server : 클라이언트의 브라우저에서 데이털르 요청하면 요청에 따라 데이터를 client에 전송 ( response) URLhttps://n.news.naver.com/article/079/0003939868?sid=100 https:// - protocolnews - Sub Domainnaver.com - Primary Domain : 어떤 서버로 갈지 알려줌  80 or 443 - port : 서버에 들어가서 어떤 프레임워크로 데이터를 요청할지 선택하는 포트/article/079/0003939868  - path: 디렉토리 이름 , 경로?sid=100 - Query :..
[웹크롤링]Python 클래스 사용법
·
Dev/웹크롤링
Python 성능 최적화: CPU, RAM, SSD 효율적 사용법1. 변수 선언 (RAM 사용)Python 변수는 RAM에 데이터를 저장하는 공간. autopep8, flake8 같은 도구를 사용하면 코드 스타일 맞추기 용이. 2. 데이터 타입 (RAM 효율적 사용)적절한 데이터 타입을 선택하는 것은 메모리 사용을 최적화하는 데 중요. - int, float, bool, str: 기본 타입 - list, tuple, dict, set: 컬렉션 타입 (tuple은 불변이므로 메모리 효율적) 3. 연산자 (CPU 사용)연산자는 CPU가 데이터를 처리하는 방식 -산술, 비교, 논리, 할당, 멤버 연산자를 사용하여 효율적인 계산 4. 조건문과 반복문 (효율적 코드 작성)if-elif-else와 while, fo..
[프로그래머스] 12921번 : Lv1 소수 찾기 | 에라토스테네스의 체
·
코딩테스트/프로그래머스
[프로그래머스] 12921번 : Lv1 소수 찾기https://school.programmers.co.kr/learn/courses/30/lessons/12921 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr [python] 문제 풀이1. 1부터 n까지의 숫자를 a로 불러오기2. a를 2~(a-1)까지 나누기 3. 나머지 값이 0이면 소수가 아님 ->종료def solution(n): prime = [] # 소수를 저장할 리스트 # 2부터 n-1까지의 숫자(a)에 대해 반복 for a in range(2, n+1): # numbe..
[백준][python] 2588번: 곱셈 | While
·
코딩테스트/백준
[백준] 2588번: 곱셈 | While [Python] 문제 풀이#입력값을 받는 부분a=int(input()) #정수형 받기b=input() #문자열 받기i= len(b)-1 #i값 초기화 (b의 끝에서부터 시작)//len():문자열 길이while i>= 0: c=a*int(b[i]) #각 자리수 곱하기 print(c) #값 먼저 보여주기 i -=1# for i in range(3,0,-1):# print(a*int(b[i-1]))print(a*int(b)) [추가] 정수형과 문자열 input()a= int(input()) #문자열을 정수형으로 변환b= input() #문자열a,b 둘다 int형으로 받으려면 다음과 같다.a,b=map(int,input().split()) #ma..
[프로그래머스]86491번 최소직사각형 | 완전 탐색
·
코딩테스트/프로그래머스
max([w if w >= h else h for w, h in sizes])[프로그래머스]86491번 : 최소직사각형 https://school.programmers.co.kr/learn/courses/30/lessons/86491 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr [python] 문제 풀이def solution(sizes): max_w,max_h=0,0 answer = 0 for w,h in sizes: if w명함을 뒤집어서 가로에 긴 변들을 모으고, 세로에 짧은 변끼리 모아서 모은 값들 중에 가장 큰 값들을..
[백준][python] 10172번 개 | 이스케이프 문
·
코딩테스트/백준
Escape strings뜻\n줄바꿈\t탭\\역슬래쉬 출력\`작은 따옴표 출력\"큰 따옴표 출력\r줄바꿈.현재 커서를 가장 앞으로 ( 캐리지 리턴)\f줄바꿈.현재 커서를 다음 줄로 (폼피드)\a벨소리\b백스페이스 [백준] 10172 번 : 개 [python] 문제 풀이 print("|\_/|")print("|q p| /}")print("( 0 )\"\"\"\\")print("|\"^\"` |")print("||_/=\\\__|")#print("\\") 역슬래쉬 출력#print("\""") 쌍따움표 출력  ** 헷갈릴 수 있으니 원래 코드를 복사 붙여 넣은 후 역슬래쉬 삽입해주기