목록Python (6)
코드 인사이드[Code_Inside]
https://school.programmers.co.kr/learn/courses/30/lessons/42584 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요. 문제 이해prices 배열의 각 요소는 주식 가격을 나타내며, 인덱스는 시간을 나타냅니다. 우리는 각 시간별로 가격이 떨어지지 않은 기간을 계산해야 합니다. 예시1:prices = [1, 2, 3, 2, 3]n = 5 (pric..
def solution(array): count = {} #딕셔너리 생성 for i in array: if i not in count: #처음 나온 수 count[i] = 1 else: # 빈도수 추가 count[i] += 1 #내림차순 저장 # items() 딕셔너리 키,값 쌍을 얻음 sorted_count = sorted(count.items(), key=lambda item : item[1], reverse = True) #print("1",sorted_count) #print("2",len(sorted_count)) #최빈값이 여러개일 때 if len(sorted_count) > 1 and sorted_count[0][1] == sorted_count[1][1]: return -1 return s..
데크(Deque) 우선순위 큐(Priority Queue) 스택과 큐의 특징을 모두 가지고 있는 복합 자료형으로 양쪽에서 삭제와 삽입을 모두 처리할 수 있음 이중 연결 리스트(가장 좋음), 배열, 연결 리스트로 구현 가능 어떤 특정 조건에 따라 우선 순위가 가장 높은 요소가 추출되는 자료형 -> 정렬 알고리즘을 기반으로 함 ex. 가장 큰 값을 추출하는 최댓값 추출 기본 리스트 자료형의 경우, 맨 뒤쪽 원소를 기준으로 삽입, 삭제를 수행하기 때문에 연산 리스트에 포함된 데이터의 수에 따라 시간 복잡도가 O(N)임 * append(), pop() deque에서는 리스트 자료형과 다르게 인덱싱, 슬라이싱 등의 기능은 사용할 수 없지만 연속적으로 나열된 데이터의 시작 혹은 끝부분에 데이터 삽입 및 삭제 시 매..
def solution(ingredient): answer = 0 # 햄버거의 개수 h = [] # 햄버거 재료 배열 for i in ingredient: h.append(i) # 재료를 햄버거 배열에 추가 #print(h) if h[-4:]==[1,2,3,1]: answer+=1 #햄버거의 개수 추가 for j in range(4): h.pop() #원소 4개 제외 #print(h) return answer print(solution([2, 1, 1, 2, 3, 1, 2, 3, 1])) https://school.programmers.co.kr/learn/courses/30/lessons/133502 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을..
def solution(arr): answer = [] #음수를 우선 할당하여 첫번째 요소가 무조건 추가되도록 함 last =-1 for a in arr: #이전 값과 같지 않을 때만 a를 추가함 if a != last: answer.append(a) #다음 비교를 위해 값을 last 에 넣어줌 last=a return answer print(solution([1,1,2,3,1])) https://school.programmers.co.kr/learn/courses/30/lessons/12906 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr
스택(Stack) 큐(Queue) LIFO(Last-in-First-Out) 마지막에 들어온 원소부터 반환함 -> 쌓인 접시를 생각해보자 FIFO(First-in-First-Out) 첫번째로 들어온 원소를 첫번째로 반환함 -> 줄서기 push() : 요소를 컬렉션에 추가함 pop() :아직 제거 되지 않은 가장 최근에 삽입된 요소를 제거함 데크(Deque)나 우선순위 큐(Priority Queue) 같은 변형이 존재함 너비 우선 탐색(Breadth-First Search)이나 캐시 구현에 사용 리스트는 스택과 큐의 모든 연산을 지원함. 다만, 리스트는 동적 배열로 구성되어 있어 큐의 연산을 수행하기에 효율적이지 않기 때문에 큐는 데크(Deque)라는 별도의 자료형을 사용하는 것이 좋은 성능을 낼 수 있음..