알고리즘50 [Baekjoon] 백준 알고리즘: 1021 - 회전하는 큐 문제 https://www.acmicpc.net/problem/1021 1021번: 회전하는 큐 첫째 줄에 큐의 크기 N과 뽑아내려고 하는 수의 개수 M이 주어진다. N은 50보다 작거나 같은 자연수이고, M은 N보다 작거나 같은 자연수이다. 둘째 줄에는 지민이가 뽑아내려고 하는 수의 위치가 www.acmicpc.net 내가 생각했던 풀이과정 1) 데크를 사용한다. 데크란 양방향 큐가 있는데 바로 데크(deque) 자료구조이다. 데크는 앞, 뒤 양쪽 방향에서 엘리먼트(element)를 추가하거나 제거할 수 있다. 2) deque.rotate(iteration): iteration 횟수만큼 deque의 맨 뒷 값을 맨 앞으로 이동시킨다. deque.rotate(-iteration): iteration 횟수.. 2021. 5. 18. [Baekjoon] 백준 알고리즘: 1010 - 다리놓기 문제 https://www.acmicpc.net/problem/1010 1010번: 다리 놓기 입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트케이스에 대해 강의 서쪽과 동쪽에 있는 사이트의 개수 정수 N, M (0 < N ≤ M < 30)이 주어진다. www.acmicpc.net 내가 생각했던 풀이과정 1) 순서가 없는 조합 문제이다. 조합이란 집합에서 서로 다른 n개의 원소 중에서 순서와 상관없이 r개를 선택하는 것이다. 순서가 없다고 생각한 이유는 어떤 다리를 놓아도, 순서에는 영향을 미치지 않기 때문이다. 2) m이 n보다 크기 때문에 최대 연결할 수 있는 다리의 갯수는 n개이다. m개의 지역에 n개의 다리를 놓을 수 있는 경우를 찾는 것이기 때문에 mCn 문제.. 2021. 5. 17. [Baekjoon] 백준 알고리즘: 1920번 - 수 찾기 문제 www.acmicpc.net/problem/1920 1920번: 수 찾기 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들 www.acmicpc.net 내가 생각했던 풀이과정 1) 이진탐색을 사용하려면 정렬되야 하기 때문에, 처음 정렬을 한다 2) 시작을 start, 끝을 end로 index를 설정해주고, 찾아야할 숫자는 in 함수를 통해 반복문을 돈다. 3) 시작이 끝보다 작을 때까지 반복하며 이진 탐색을 위해 중간지점을 찾는다 중간지점이 타겟이라면 1을 return하고 중간지점의 값보다 타겟이 작을 경우.. 2021. 5. 6. [프로그래머스] 더 맵게 1. 문제 programmers.co.kr/learn/courses/30/lessons/42626 코딩테스트 연습 - 더 맵게 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같 programmers.co.kr 2. 내가 생각했던 첫번째 풀이과정 1) 가장 맵지 않은 음식과 두번째로 맵지 않은 음식을 골라야하니 일단 배열을 정렬한다 2) 가장 맵지 않은 음식과 두번째로 맵지 않은 음식을 계산을 한다 3) 계산을 한 이후에는 첫번째 요소를 pop을 해주면서, 계산한 값을 첫번째 요소에 넣고, count를 올린다 이럴 경우, 테스트케이스는 맞았으나 시간초과가 되어.. 2021. 5. 4. 이전 1 2 3 4 5 6 7 8 ··· 13 다음