[Programmers - lv02] 행렬의 곱셈 (cpp / python)
·
Algorithm/Programmers
행렬의 곱셈 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 행렬의 곱셈을 구현해보자. $$ \begin{bmatrix} a & b\\ c & d\\ \end{bmatrix} \times \begin{bmatrix} e & f\\ g & h\\ \end{bmatrix} = \begin{bmatrix} a\times e + b\times g & a\times f + b\times h \\ c\times e + d\times g & c\times f + d\times h \end{bmatrix} $$ 문제 풀이 소스코드 : C++ #include #..
[Programmers - lv02] 피보나치 수 (cpp / python)
·
Algorithm/Programmers
피보나치 수 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 피보나치 수를 구해보자. 흔히들 알고있는 점화식 $f(n) = f(n-1) + f(n-2)$ 를 이용하여 문제를 해결한다. 문제 풀이 소스코드 : C++ 반복문(dynamic programming - bottom-up: Tabulation)을 이용한 풀이1 #include #include #include using namespace std; const int MAX = 100001; const int MOD = 1234567; int dp[MAX]; int solution(int n) ..
[Programmers - lv02] 최솟값 만들기 (cpp / python)
·
Algorithm/Programmers
최솟값 만들기 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 주어진 배열 A, B를 이용하여 각 원소들의 곱의 합이 최소가 되도록 만드는 문제다. 두 배열을 정렬하여 한 배열에서는 가장 큰 값, 다른 배열에서는 가장 작은 값을 꺼내여 곱하고 누적해준다. 문제 풀이 소스코드 : C++ A , B를 정렬한다. A 배열에서는 가장 작은 값을 B배열은 뒤에서부터 가장 큰 값을 꺼내어 answer에 누적하여 더해준다. #include #include #include using namespace std; int solution(vector A, vecto..
[Programmers - lv02] 최댓값과 최솟값 (cpp / python)
·
Algorithm/Programmers
최댓값과 최솟값 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 리스트에 있는 값들 중 최댓값과 최솟값을 찾는 문제 문제 풀이 소스코드 : C++ 문자열로 들어온 값이기 때문에 " "공백을 기준으로 split을 한다. split이 된 문자들을 stoi를 이용하여 정수형으로 바꿔주고 최댓값과 최솟값을 갱신한다. answer 도 문자열을 요구하므로 tostring을 이용하여 문자열로 변환한 후 답을 반환한다. #include #include #include #include using namespace std; vector split(string s,..
[2019 kakao blind recruitment] 02. 실패율(cpp/python)
·
Algorithm/Programmers
실패율 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 N개의 stage 에 대한 카운팅 정렬을 하고 stage에 대한 실패율 (스테이지에 도달했으나 아직 클리어하지 못한 플레이어의 수 / 스테이지에 도달한 플레이어 수) 을 구하는 문제다. 문제 풀이 소스코드 : C++ 카운팅 정렬을 위한 cnt[501] 배열을 전역변수와 전체 사용자 수 size = stage.size()를 선언한다. stages에 들어있는 값들을 카운팅 정렬한다. 이때 해당 값이 N+1인 값은 제외하고 정렬한다. (N+1은 모든 스테이지를 클리언 사용자) 실패율을 구하기위한 ..
[2019 kakao blind recruitment] 01. 오픈채팅방(cpp/python)
·
Algorithm/Programmers
오픈채팅방 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 사용자의 id를 key값으로 가지며 사용자의 행동에 따라 변하는 결과를 출력하는 문제다. 이미지의 예시가 정확한 설명을 해주고 있다. 문제 풀이 소스코드 : C++ record에 기록된 행동들에 대해 split을 해주어 vector tmp 에 순서대로 담아준다. 명령에 따라 조건을 처리해준다. Enter 라면 id를 key값으로 하고 nickname을 value로 하는 unordered_map에 넣어주고 q에 {id , "님이 들어왔습니다."}를 푸시해준다. 이때 이미 존재하는 key라면..
[2019 kakao winter internship] 05. 징검다리 건너기(cpp/python)
·
Algorithm/Programmers
징검다리 건너기 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 건널 수 있는 사람 수를 기준으로 1 ~ max(stones) 에 대한 이분탐색을 하여 stones 값들을 mid 값 만큼 갂아 건널 수 있는지 확인하여 그 때의 최소값을 찾는 문제이다. 문제 풀이 소스코드 : C++ left =1 , right = stones의 최대값으로 초기화하고 이분탐색에 진입한다. mid = (left + right)/2로 놓고, 건널 수 있는 mid값보다 작거나 같은 경우를 세는 cnt=0 으로 놓는다. cnt>k되면 건널 수 없는 경우이므로 cnt>=k가..
[2019 kakao winter internship] 04. 호텔 방 배정 (cpp/python)
·
Algorithm/Programmers
호텔 방 배정 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 을 이용하여 주어진 호텔 방 번호를 맵의 key 값으로 생각하여 방 배정을 하고 다음 방 번호를 value 로 받아 방을 배정 받을때마다 다음 방 번호를 갱신하여 준다. 자료구조 trie 에서 착안하였다. 문제 풀이 소스코드 : C++ 손님이 원하는 방 번호가 담겨있는 room_number 를 key 로 받고 해당 key 가 없으면 unordered_map m에 insert({배정 받은 방번호, {배정 받은 손님 , 다음 방 번호}})해준다. 이 때 다음 방 번호는 배정 받은 방 번호..
WONILLISM
'Algorithm/Programmers' 카테고리의 글 목록 (7 Page)