[프로그래머스] 1154539 : Lv2 뒤에 있는 큰 수 찾기| 스택
·
코딩테스트/프로그래머스
[프로그래머스] 1154539 : Lv2 뒤에 있는 큰 수 찾기https://school.programmers.co.kr/learn/courses/30/lessons/154539 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr[python] 문제 풀이배열의 수 만큼 루프를 돌려서 직접 원소들의 크기를 비교하는 코드를 짬. 1. results 리스트를 생성해서 모든 값을 -1 로 초기화. 각 요소는 숫자에 대한 결과 값을 저장하게 됨. (큰 수가 없으면 -1로 남게 함) 2. 마지막 요소를 제외하고 numbers에 있는 모든 요소들의 크기를 비교해야함.3. 현재..
[백준][python] 28278 스택2 |스택
·
코딩테스트/백준
[백준] 28278 스택2 |스택[python] 문제 풀이import sysinput = sys.stdin.readline #입력을 빠르게 처리할 수 있음#input()보다 속도가 빠름. 반복적으로 많은 입력 받기 가능n = int(input()) #명령 개수 n 입력 #n번 만큼 명령 반복stack = [] #스택 초기화for _ in range(n): cmd = list(map(int,input().split())) #한줄에 입력된 명령을 정수로 변환 후 리스트에 저장 #명령의 첫번째 값 cmd[0] if cmd[0]==1: stack.append(cmd[1]) #스택에 넣기 elif cmd[0]==2: #두번째 명령 if stack: #스..
[자료구조] [python] Stack(스택)
·
Study/자료구조
LIFO (후입 선출)구조를 따르는 자료 구조 즉, 나중에 삽입된 데이터가 가장 먼저 꺼내지는 구조. 스택 연산 종류1. push() : 스택에 원소를 추가.2. pop() : 스택 가장 위에 있는 원소를 삭제하고 그 원소를 반환한다.3. peek() : 스택 가장 위에 있는 원소를 반환한다.  * python에서는 stack[-1]을 사용!4. isEmpty() : 스택이 비어있다면 1, 아니면 0을 반환한다.5. clear() : 강제 초기화, 비어있는지 여부 확인6. isFull() : 가득 찼는지 여부 확인7. size(): 스택에 저장되어 있는 데이터 개수 반환  **파이썬에서 스택 사용할 때, 라이브러리 필요없음.예시stack = []# 스택에 데이터 삽입stack.append(1)stack...
[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명함을 뒤집어서 가로에 긴 변들을 모으고, 세로에 짧은 변끼리 모아서 모은 값들 중에 가장 큰 값들을..