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)라는 별도의 자료형을 사용하는 것이 좋은 성능을 낼 수 있음..
* 해당 내용은 '딥러닝 파이토치 교과서' 를 개인 공부 목적으로 정리한 것임 모델 학습 모델을 학습 시킨다는 것은 입력값 x, 출력값 y 가 만약 y = wx+b 라는 관계식(함수)을 가진다면 loss가 최솟값을 갖도록 하는 가중치(w) 및 편향(b)의 값을 찾아 나가는 과정을 의미한다. 먼저 w,b에 임의의 값을 적용한 뒤 오차(실제값과 예측값의 차이)가 서서히 줄어들어 전역 최소점에 이를 때까지 파라미터(w,b)를 계속 수정한다. 학습 과정은 다음과 같다. 1. optimizer.zero_grad() 기울기 초기화 메서드 새로운 기울기 값을 이전 기울기 값에 누적하여 계산하는 것은 RNN(순환 신경망) 모델을 구현할 때는 효과적이나 누적 계산이 필요하지 않는 모델인 경우 불필요함. ..