# 기능 개발 # 42586번 # lv2 # 스택/큐 # Python # 문제 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 기능보다 먼저 개발될 수 있고, 이때 뒤에 있는 기능은 앞에 있는 기능이 배포될 때 함께 배포됩니다. 먼저 배포되어야 하는 순서대로 작업의 진도가 적힌 정수 배열 progresses와 각 작업의 개발 속도가 적힌 정수 배열 speeds가 주어질 때 각 배포마다 몇 개의 기능이 배포되는지를 return 하도록 solution 함수를 완성하세요. # 제한사항 작업의 개수(progresses, speeds배열의 길이)는 100개 이하입니다. ..
해당 글은 프로그래머스 [고득점 알고리즘 kit. 스택/큐 - 기능개발] 문제를 풀면서 스택과 큐 개념에 대해 정립할 필요를 느끼고 정리한 글입니다!! 해당 문제가 궁금하시면 아래 사이트를 방문해주세요~!! 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🔖 스택(Stack)?? 스택은 "쌓다"라는 의미를 가진 단어로, 알고리즘에서는 아래 그림과 같이 '데이터를 차곡차곡 쌓은 구조'를 의미한다. 스택은 자료구조에서 메인 장으로 다뤄야 할 정도로 중요하고 자주 쓰이는 개념이다. 데이터가 순차적으로 쌓일 때 처리하는 방식이라던지, 접근 방식이라던지, 삭제하는 ..
이번 네트워크 편에서는 통신 기술이 갖는 '7계층 구조'에 대해 알아볼 것이다. 우리가 아는 대다수의 통신 시퀀스는 OSI 7 계층의 각 단계별 구조화를 거쳐서 작동한다. 그리고 각 계층별 맡고 있는 역할은 굉장히 상이한데, 이번 편에서는 OSI 7 계층 가운데 1~4계층까지에 대해 다뤄보려 한다. 앞서 [통신 프로토콜과 네트워크]에서 LAN, MAN, WAN 에 대해 간단하게 언급했다. 규모로 구분지었던 이 통신 네트워크들은 7가지의 층으로 구분되어 층마다 상이한 'Action'을 발생시킨다. 여기서 중요한 건 층마다의 액션은 존재하지만, '각 계층들 간의 상관관계는 존재하지 않고', 대신 해야 할 일에 '선후관계가 존재한다'는 점이다. 이는 역할에 따른 동작을 할 때 서로 상호작용을 하지 않는다는 의..
# 카드뭉치 # 159994 # lv1 # Python # 문제 코니는 영어 단어가 적힌 카드 뭉치 두 개를 선물로 받았습니다. 코니는 다음과 같은 규칙으로 카드에 적힌 단어들을 사용해 원하는 순서의 단어 배열을 만들 수 있는지 알고 싶습니다. 원하는 카드 뭉치에서 카드를 순서대로 한 장씩 사용합니다. 한 번 사용한 카드는 다시 사용할 수 없습니다. 카드를 사용하지 않고 다음 카드로 넘어갈 수 없습니다. 기존에 주어진 카드 뭉치의 단어 순서는 바꿀 수 없습니다. 예를 들어 첫 번째 카드 뭉치에 순서대로 ["i", "drink", "water"], 두 번째 카드 뭉치에 순서대로 ["want", "to"]가 적혀있을 때 ["i", "want", "to", "drink", "water"] 순서의 단어 배열을 ..
해당 본문은 전 글과 이어집니다! 해당 내용이 궁금하다면 전 본문을 참고해주세요!! 그러면 본격적으로 인공 신경망(ANN)의 개념과 그 종류에 대해 알아보도록 하겠습니다. 인공 신경망 (FFNN & RNN) 앞서 퍼셉트론을 배우면서 'MLP(다층 퍼셉트론) 구조'를 언급했다. 퍼셉트론의 관점에서 층을, 그 중에서도 '은닉층'이라고 하는 입력층과 출력층 사이의 layer를 겹겹이 쌓는다고 했을 때, 이를 다층 퍼셉트론(multi - layer perceptron)이라고 부른다. 이 MLP 중에서도 연산이 전개되는 방향에 따라 두 가지로 구분이 가능하다. 입력층에서 출력층으로 연산이 흐르는 통상적인 형태면, 이를 '순방향 신경망(FFNN)' 이라고 부르며, 입력층과 출력층 사이 은닉층 사이에서 또다시 연산값..
'딥 러닝(Deep Learning)'은 머신 러닝(Machine Learning)의 특정한 한 분야로서 인공 신경망(Artificial Neural Network)의 층을 연속적으로 깊게 쌓아올려 데이터를 학습하는 방식을 말한다. 본격적으로 인공신경망 기술과 딥러닝을 다루기 전에 '퍼셉트론'이라는 인공신경망 알고리즘의 형태를 먼저 알아보자. 퍼셉트론?? 퍼셉트론(Perceptron)은 프랑크 로젠블라트(Frank Rosenblatt)가 1957년에 제안한 초기 형태의 인공 신경망으로 '다수의 입력으로부터 하나의 결과를 내보내는 알고리즘'이다. 퍼셉트론은 실제 뇌를 구성하는 뉴런의 동작과도 유사하다. 뉴런은 가지돌기에서 신호를 받아들이고, 이 신호가 일정치 이상의 크기를 가지면 축삭돌기를 통해서 신호를 ..