Algorithm & Data Structure
-
[카카오 블라인드 2019] 실패율2020.09.09
-
[백준 복습] 2179. 미로 탐색2020.09.06
-
[백준] 1260. DFS와 BFS(복습)2020.09.05
-
[프로그래머스] 땅따먹기2020.09.03
-
[ 백준] 10819. 차이를 최대로2020.08.29
-
[백준] 2979. 트럭 주차2020.07.18
-
[백준] 11599. Puyo Puyo2020.07.04
-
[백준] 2503. 숫자 야구2020.07.01
[카카오 블라인드 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 |
[백준 복습] 2179. 미로 탐색
https://www.acmicpc.net/problem/2178
2178번: 미로 탐색
첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다.
www.acmicpc.net
BFS를 사용하여 최소시간을 구하는 문제였습니다.
좌표와 이동횟수(cnt)를 저장하는 class를 선언하여 queue의 자료형으로 사용하였습니다.
이동가능한 좌표를 큐에 담으면서 카운트를 하나씩 더해주면 최소 시간을 구할 수 있습니다.
'Algorithm & Data Structure > BOJ' 카테고리의 다른 글
[백준] 10162. 전자레인지 (0) | 2020.09.11 |
---|---|
[백준] 2667. 단지번호붙이기 (0) | 2020.09.10 |
[백준] 1260. DFS와 BFS(복습) (0) | 2020.09.05 |
[ 백준] 10819. 차이를 최대로 (0) | 2020.08.29 |
[백준] 2979. 트럭 주차 (0) | 2020.07.18 |
[백준] 1260. DFS와 BFS(복습)
https://www.acmicpc.net/problem/1260
1260번: DFS와 BFS
첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사
www.acmicpc.net
DFS, BFS 알고리즘 복습 겸 풀어봤습니다.
인접행렬을 이용하여 해결했습니다.
인접행렬 참조 블로그: https://sarah950716.tistory.com/12
[그래프] 인접 행렬과 인접 리스트
그래프 관련 문제를 풀 때는, 문제 상황을 그래프로 모델링한 후에 푸는 것이 보편적입니다. 이 때, 모델링한 그래프의 연결관계를 나타내는 두 가지 방식이 있습니다. 1. 인접 행렬 2. 인접 리스�
sarah950716.tistory.com
'Algorithm & Data Structure > BOJ' 카테고리의 다른 글
[백준] 2667. 단지번호붙이기 (0) | 2020.09.10 |
---|---|
[백준 복습] 2179. 미로 탐색 (0) | 2020.09.06 |
[ 백준] 10819. 차이를 최대로 (0) | 2020.08.29 |
[백준] 2979. 트럭 주차 (0) | 2020.07.18 |
[백준] 11599. Puyo Puyo (0) | 2020.07.04 |
[프로그래머스] 땅따먹기
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 |
[ 백준] 10819. 차이를 최대로
https://www.acmicpc.net/problem/10819
10819번: 차이를 최대로
첫째 줄에 N (3 ≤ N ≤ 8)이 주어진다. 둘째 줄에는 배열 A에 들어있는 정수가 주어진다. 배열에 들어있는 정수는 -100보다 크거나 같고, 100보다 작거나 같다.
www.acmicpc.net
재귀를 사용하는 브루트 포스 문제 였습니다.
주어진 숫자들의 가능한 모든 순열을 뽑아 내어 주어진 조건대로 계산해 주면 됩니다.
모든 순열을 뽑아내는 방법은 백트래킹 방법 을 사용했습니다.
구체적인 구현은 입력배열과 새로운 순열을 만들어내는 타겟 배열을 사용했고,
dfs함수의 매개변수인 index 변수로 타겟 배열의 원소 순서를 지정 해주었습니다.
'Algorithm & Data Structure > BOJ' 카테고리의 다른 글
[백준 복습] 2179. 미로 탐색 (0) | 2020.09.06 |
---|---|
[백준] 1260. DFS와 BFS(복습) (0) | 2020.09.05 |
[백준] 2979. 트럭 주차 (0) | 2020.07.18 |
[백준] 11599. Puyo Puyo (0) | 2020.07.04 |
[백준] 2503. 숫자 야구 (0) | 2020.07.01 |
[백준] 2979. 트럭 주차
https://www.acmicpc.net/problem/2979
2979번: 트럭 주차
문제 상근이는 트럭을 총 세 대 가지고 있다. 오늘은 트럭을 주차하는데 비용이 얼마나 필요한지 알아보려고 한다. 상근이가 이용하는 주차장은 주차하는 트럭의 수에 따라서 주차 요금을 할인�
www.acmicpc.net
간단한 시뮬레이션 문제였습니다.
문제에 분당 요금이라고 나와있는데 시간당 요금으로 생각하면 됩니다.
각 시간별로 주차된 차의 대수 를 저장해놓고,
그 다음 시간대별로 요금을 계산하면 끝납니다.
'Algorithm & Data Structure > BOJ' 카테고리의 다른 글
[백준] 1260. DFS와 BFS(복습) (0) | 2020.09.05 |
---|---|
[ 백준] 10819. 차이를 최대로 (0) | 2020.08.29 |
[백준] 11599. Puyo Puyo (0) | 2020.07.04 |
[백준] 2503. 숫자 야구 (0) | 2020.07.01 |
[백준] 6679. 싱기한 네자리 숫자 (0) | 2020.06.25 |
[백준] 11599. Puyo Puyo
https://www.acmicpc.net/problem/11559
11559번: Puyo Puyo
현재 주어진 상황에서 몇연쇄가 되는지 출력하라. (하나도 터지지 않는다면 0을 출력하면 된다.)
www.acmicpc.net
DFS를 사용한 시뮬레이션 문제.
- 시뮬레이션 순서
- 탐색: DFS를 사용한 타겟 탐색
- 삭제: 타겟이 4개이상 모여있으면 터뜨리기
- 중력: 터진 타겟들이 있으면 새로운 맵 얻기
- Points
-
연속한 타겟들(모여있는)의 좌표를 기억하기 위한 ArrayList 사용, 탐색을 마친후 항상 ArrayList clear
-
모든 맵을 탐색하면서 4개이상 모여있는 그룹이 있으면 그때그때 터뜨려 줌, 중력으로 인해 밑으로 떨어지게하는건 이후에 구현하므로, 단순히 해당좌표를 '.'으로 치환하면됨
-
전체맵을 탐색한 후 터뜨린 전적이 있으면 새로운 맵을 셋팅하고 연쇄 +1, 아닐경우 종료 후 연쇄 반환
-
새로운 맵을 얻을때마다 visited 와 ArrayList 초기화
'Algorithm & Data Structure > BOJ' 카테고리의 다른 글
[ 백준] 10819. 차이를 최대로 (0) | 2020.08.29 |
---|---|
[백준] 2979. 트럭 주차 (0) | 2020.07.18 |
[백준] 2503. 숫자 야구 (0) | 2020.07.01 |
[백준] 6679. 싱기한 네자리 숫자 (0) | 2020.06.25 |
[백준] 1547. 공 (0) | 2020.06.23 |
[백준] 2503. 숫자 야구
https://www.acmicpc.net/problem/2503
2503번: 숫자 야구
첫째 줄에는 민혁이가 영수에게 몇 번이나 질문을 했는지를 나타내는 1 이상 100 이하의 자연수 N이 주어진다. 이어지는 N개의 줄에는 각 줄마다 민혁이가 질문한 세 자리 수와 영수가 답한 스트��
www.acmicpc.net
브루트포스문제
말한 숫자 마다 모든 경우의 수를 따져봄,
말한수와 비교할 정답후보 숫자가 말한수의 스트라이크, 볼과 같은 경우의 수를 가진 수라면 진짜 정답 후보로 간주,
아니면 후보에서 아웃
비교 방법
1. 자리수 비교
1-1. 같을경우 숫자 비교, 둘다 같으면 스트라이크
2. 자리수 다를 경우 숫자 비교, 자리수 다르고 숫자 같으면 볼
위 비교를 말한 수 하나당 모든 수에 돌리면서 정답후보를 하나씩 제외 시켜가며 해결합니다.
'Algorithm & Data Structure > BOJ' 카테고리의 다른 글
[백준] 2979. 트럭 주차 (0) | 2020.07.18 |
---|---|
[백준] 11599. Puyo Puyo (0) | 2020.07.04 |
[백준] 6679. 싱기한 네자리 숫자 (0) | 2020.06.25 |
[백준] 1547. 공 (0) | 2020.06.23 |
[백준] 1963. 소수경로 (0) | 2020.06.22 |