본문 바로가기

전체 글88

[Sorting] K번째 수 문제: https://school.programmers.co.kr/learn/courses/30/lessons/42748 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr코드def solution(array, commands): sort_array = [sorted(array[i[0]-1:i[1]]) for i in commands] idx = [i[2]-1 for i in commands] answer = [sort_array[i][idx[i]] for i in range(len(commands))] return answer 2024. 6. 13.
Sorting 개념 비교정렬선택 정렬, 버블 정렬, 삽입 정렬, 퀵 정렬, 힙 정렬, 병합 정렬 등비(非)비교정렬계수 정렬, 기수 정렬, 버킷 정렬안정 정렬(Stable sort)동일한 값에 대해 기존의 순서가 유지되는 정렬 방식불안정 정렬(Not stable sort)동일한 값에 대해 기존의 순서가 뒤바뀔 수 있는 정렬 방식제자리 정렬(In-place sort)주어진 공간 외에 추가적인 공간을 사용하지 않는 정렬기본 정렬(1) Selection Sort 단위 순환최대 원소를 찾는다.최대 원소와 맨 오른쪽 원소의 자리를 바꾼다.맨 오른쪽 자리를 관심 대상에서 제외한다.원소가 1개 남을 때까지 위의 순환을 반복한다.비교 작업의 총 수가 수행 시간을 좌우한다.Worst$$ O(n^2) $$Average$$ O(n^2) $$Be.. 2024. 6. 13.
[Stack & Queue] 주식가격 문제: https://school.programmers.co.kr/learn/courses/30/lessons/42584 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr코드 1 (실패)def solution(prices): a=[] while prices: time = 0 for i in range(1,len(prices)): time += 1 if prices[0] > prices[i]: break a.append(time) pric.. 2024. 6. 13.
[Stack & Queue] 프로세스 문제: https://school.programmers.co.kr/learn/courses/30/lessons/42587 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr코드 1 (실패)def solution(priorities, location): stack = [] answer = [] for idx,p in enumerate(priorities,0): stack.append([idx,p]) while True: stack.append(stack.pop(0)) if stack[0][1] == .. 2024. 6. 13.
[Stack & Queue] 올바른 괄호 문제: https://school.programmers.co.kr/learn/courses/30/lessons/12909 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr코드def solution(s): stack = [] cnt = 0 for i in s: if len(stack) == 0: if i == ')': return False if i == ')' and stack[-1] == '(': stack.pop() else: .. 2024. 6. 12.
[Stack & Queue] 기능개발 문제: https://school.programmers.co.kr/learn/courses/30/lessons/42586 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr코드 1 (실패)예제는 다 맞았는데 테스트 1, 8, 11을 제외하고 모두 실패했다. 반례를 잘 모르겠다.progresses = [95, 90, 99, 99, 80, 99]speeds = [1, 1, 1, 1, 1, 1]import mathdef solution(progresses, speeds): a = [] result = [] for p,s in zip(progresses,.. 2024. 6. 12.