Algorithm & Data Structure/Programmers
-
[카카오 블라인드 2019] 실패율2020.09.09
-
[프로그래머스] 땅따먹기2020.09.03
-
[프로그래머스] Lv 2. 크레인 인형뽑기2020.06.03
-
[프로그래머스] Lv2. 큰 수 만들기2020.05.08
-
[프로그래머스] Lv2. 카카오 프렌즈 컬러링북2020.05.04
-
[프로그래머스] Lv2. 다리를 지나는 트럭2020.05.03
-
[프로그래머스] Lv2. 쇠막대기2020.04.30
-
[프로그래머스] Lv3. 2 x n 타일링2020.04.28
[카카오 블라인드 2019] 실패율
https://programmers.co.kr/learn/courses/30/lessons/42889#qna
코딩테스트 연습 - 실패율
실패율 슈퍼 게임 개발자 오렐리는 큰 고민에 빠졌다. 그녀가 만든 프랜즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용자의 수가 급감한 것이다. 원인은 신규 사용자와 기존 사용자 사이에 스��
programmers.co.kr
예외처리를 주의 하며 풀었던 문제입니다.
0 으로 나누는 경우,
한번도 도달하지 못한 스테이지의 경우(0/0 의 실패율)
N이 1인 경우 등의 예외를 생각해주며 풀면 쉽게 풀 수 있는 문제입니다.
분자는 반복문을 통해 단순 더하면 되고,
분모를 구하는 방법은, 총 인원을 1번째 스테이지에 넣은 뒤,
두번째 스테이지 부터 위에서 구한 이전 스테이지별 분자를 하나씩 빼주면 각 스테이지 별로 알맞은 분모(거쳐갔거나 현재 있는 사용자 수의 합)가 생깁니다.
이 후 엔 예외처리 주의하며 실패율과 인덱스별로 정렬하면 됩니다.
'Algorithm & Data Structure > Programmers' 카테고리의 다른 글
[프로그래머스] 땅따먹기 (0) | 2020.09.03 |
---|---|
[프로그래머스] Lv 2. 크레인 인형뽑기 (0) | 2020.06.03 |
[프로그래머스] Lv2. 큰 수 만들기 (0) | 2020.05.08 |
[프로그래머스] Lv2. 카카오 프렌즈 컬러링북 (0) | 2020.05.04 |
[프로그래머스] Lv2. 다리를 지나는 트럭 (0) | 2020.05.03 |
[프로그래머스] 땅따먹기
https://programmers.co.kr/learn/courses/30/lessons/12913
코딩테스트 연습 - 땅따먹기
땅따먹기 게임을 하려고 합니다. 땅따먹기 게임의 땅(land)은 총 N행 4열로 이루어져 있고, 모든 칸에는 점수가 쓰여 있습니다. 1행부터 땅을 밟으며 한 행씩 내려올 때, 각 행의 4칸 중 한 칸만 밟��
programmers.co.kr
DP 문제였습니다.
temp 배열을 만들어고 0행에는 land 배열의 값을 넣고 시작합니다.
temp 배열의 1행 1열 부터 시작하여 해당 자리로 오는 최대값을 계속 갱신하면서 진행합니다.
따라서 마지막행의 4가지 열에는 마지막 행에 도달하는 각 열의 최대값이 저장되므로 이중에서 최대값을 반환 합니다.
'Algorithm & Data Structure > Programmers' 카테고리의 다른 글
[카카오 블라인드 2019] 실패율 (0) | 2020.09.09 |
---|---|
[프로그래머스] Lv 2. 크레인 인형뽑기 (0) | 2020.06.03 |
[프로그래머스] Lv2. 큰 수 만들기 (0) | 2020.05.08 |
[프로그래머스] Lv2. 카카오 프렌즈 컬러링북 (0) | 2020.05.04 |
[프로그래머스] Lv2. 다리를 지나는 트럭 (0) | 2020.05.03 |
[프로그래머스] Lv 2. 크레인 인형뽑기
https://programmers.co.kr/learn/courses/30/lessons/64061
코딩테스트 연습 - 크레인 인형뽑기 게임
[[0,0,0,0,0],[0,0,1,0,3],[0,2,5,0,1],[4,2,4,4,2],[3,5,1,3,1]] [1,5,3,5,1,2,1,4] 4
programmers.co.kr
스택을 사용한 시뮬레이션 문제 였습니다.
moves 배열로 board의 열을 결정하고,
board에 각 행을 위에서부터 검사하면서 0이 아닌 숫자가 있으면 stack의 peek값과 비교합니다.
같으면 바구니에서 2개의 인형이 사라지고, 다르면 스택에 추가해 줍니다.
'Algorithm & Data Structure > Programmers' 카테고리의 다른 글
[카카오 블라인드 2019] 실패율 (0) | 2020.09.09 |
---|---|
[프로그래머스] 땅따먹기 (0) | 2020.09.03 |
[프로그래머스] Lv2. 큰 수 만들기 (0) | 2020.05.08 |
[프로그래머스] Lv2. 카카오 프렌즈 컬러링북 (0) | 2020.05.04 |
[프로그래머스] Lv2. 다리를 지나는 트럭 (0) | 2020.05.03 |
[프로그래머스] Lv2. 큰 수 만들기
https://programmers.co.kr/learn/courses/30/lessons/42883#qna
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
그리디 알고리즘 문제였습니다.
- 필요한 자리수 = 주어진 수의 길이 - k
- 필요한 자리수만큼 for문을 돌립니다.
- 주어진 수에서 각 자리에 들어갈수 있는 자리수의 범위를 start, end 를 사용해 정해줍니다.
- start 는 해당 자리에 올 수 있는 가장 크고 가장 왼쪽에 있는 수를 찾았을때마다 업데이트 해줍니다.
- end는 주어진 수의 길이 - (필요한 자리수 길이 - 해당 자리수의 인덱스) 입니다.
- ex) 만약 7자리 수, k=3 이라면 필요한 자리수는 4자리수 이고, 필요한 자리수의 첫번째 자리(0번째)에 올 수 있는 자리수의 범위는 0번째(=start) 부터 7 - (4 - 0) (=end) 까지 입니다.
- 각 자리에 맞는 수를 찾았을때 answer에 String의 + 연산으로 추가해주는 방법은 시간초과가 발생합니다. 따라서 StringBuilder의 append 연산을 사용하고, 마지막에 toString() 해주면 시간초과에 걸리지 않습니다.
'Algorithm & Data Structure > Programmers' 카테고리의 다른 글
[프로그래머스] 땅따먹기 (0) | 2020.09.03 |
---|---|
[프로그래머스] Lv 2. 크레인 인형뽑기 (0) | 2020.06.03 |
[프로그래머스] Lv2. 카카오 프렌즈 컬러링북 (0) | 2020.05.04 |
[프로그래머스] Lv2. 다리를 지나는 트럭 (0) | 2020.05.03 |
[프로그래머스] Lv2. 쇠막대기 (0) | 2020.04.30 |
[프로그래머스] Lv2. 카카오 프렌즈 컬러링북
https://programmers.co.kr/learn/courses/30/lessons/1829
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
BFS 또는 DFS 로 영역의 넓이와 갯수를 구하는 문제였습니다.
기본적인 탐색 문제였던것 같습니다.
매 BFS마다 영역의 갯수를 증가시켜주고, 영역의 넓이를 최대값으로 업데이트 해주면 됩니다.
'Algorithm & Data Structure > Programmers' 카테고리의 다른 글
[프로그래머스] Lv 2. 크레인 인형뽑기 (0) | 2020.06.03 |
---|---|
[프로그래머스] Lv2. 큰 수 만들기 (0) | 2020.05.08 |
[프로그래머스] Lv2. 다리를 지나는 트럭 (0) | 2020.05.03 |
[프로그래머스] Lv2. 쇠막대기 (0) | 2020.04.30 |
[프로그래머스] Lv3. 2 x n 타일링 (0) | 2020.04.28 |
[프로그래머스] Lv2. 다리를 지나는 트럭
https://programmers.co.kr/learn/courses/30/lessons/42583
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
큐를 사용하는 문제였습니다.
- 트럭 대기 큐와 다리를 건너는 중인 트럭 큐 두개 사용합니다.
- 매 초 마다 다리를 건넌 트럭이 있는지 검사해 주고, 진행 큐의 경과시간을 업데이트 해줍니다.
- 그리고 진행 큐의 무게 합(sum) 과 대기 큐의 peek의 무게를 더해서 다리가 버틸수 있는지 검사해줍니다.
- 버틸 수 있으면 대기 큐의 peek값을 진행 큐에 넣어줍니다.
* 시간 경계를 관리하는게 까다로우므로 매초 경과시간에 따른 큐의 상황을 체크해주면서 구현합니다.
'Algorithm & Data Structure > Programmers' 카테고리의 다른 글
[프로그래머스] Lv2. 큰 수 만들기 (0) | 2020.05.08 |
---|---|
[프로그래머스] Lv2. 카카오 프렌즈 컬러링북 (0) | 2020.05.04 |
[프로그래머스] Lv2. 쇠막대기 (0) | 2020.04.30 |
[프로그래머스] Lv3. 2 x n 타일링 (0) | 2020.04.28 |
[프로그래머스] Lv2. 탑 (0) | 2020.04.28 |
[프로그래머스] Lv2. 쇠막대기
https://programmers.co.kr/learn/courses/30/lessons/42585
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
Stack을 사용하는 문제였습니다.
자료형은 Stack<Integer> 를 사용합니다.
- '('가 들어오면 0을 스택에 넣어줌
- ')' 가 들어오면
- 스택의 peek값이 0이면 레이져로 간주, 0을 pop한 뒤에 남은 스택의 peek값에 +1 해줌(레이져 개수 카운트 라고 생각)
- 스택의 peek값이 0이 아니면 막대기로 간주, 스택에서 pop한 값에 +1 해주어 답에 더함, 남은 스택의 peek에 답에 더해진 pop되었던 값을 넣어줌 (레이져의 개수는 peek값에서만 기억하고 있으면 됩니다)
* 잘린 막대기의 개수는 그 막대기를 통과한 레이져의 개수 + 1 입니다.
'Algorithm & Data Structure > Programmers' 카테고리의 다른 글
[프로그래머스] Lv2. 카카오 프렌즈 컬러링북 (0) | 2020.05.04 |
---|---|
[프로그래머스] Lv2. 다리를 지나는 트럭 (0) | 2020.05.03 |
[프로그래머스] Lv3. 2 x n 타일링 (0) | 2020.04.28 |
[프로그래머스] Lv2. 탑 (0) | 2020.04.28 |
[프로그래머스] Lv2. 스킬트리 (0) | 2020.04.27 |
[프로그래머스] Lv3. 2 x n 타일링
https://programmers.co.kr/learn/courses/30/lessons/12900
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
간단한 동적계획법 문제였습니다.
n이 1,2,3,4,5... 일때 경우의 수를 생각해보면
n | 1 | 2 | 3 | 4 | 5 |
경우의 수 | 1 | 2 | 3 | 5 | 8 |
수식 | dp[n] = dp[n-2] + dp[n-1] |
n이 3부터 이전 두개 항의 합으로 표현됩니다.
'Algorithm & Data Structure > Programmers' 카테고리의 다른 글
[프로그래머스] Lv2. 다리를 지나는 트럭 (0) | 2020.05.03 |
---|---|
[프로그래머스] Lv2. 쇠막대기 (0) | 2020.04.30 |
[프로그래머스] Lv2. 탑 (0) | 2020.04.28 |
[프로그래머스] Lv2. 스킬트리 (0) | 2020.04.27 |
[프로그래머스] Lv2. 기능개발 (0) | 2020.04.27 |