deque
-
BOJ 1021번 회전하는 큐 c++ 풀이 랭크 : 실버4 백준 1021번 회전하는 큐 문제 정리 N개의 원소를 포함하고 있는 양방향 순환 큐가 있다. 첫 번째 원소를 뽑아낸다. 왼쪽으로 한 칸 이동. a1..ak -> a2..ak, a1 오른쪽으로 한 칸 이동 a1...ak -> ak, a1...ak-1 뽑아내려고 하는 원소의 위치가 주어질 때, 원소를 주어진 순서대로 뽑아내는데 필요한 4,5번 연산의 최솟값을 구하여라 문제 접근 arr의 idx 번째 수를 맨 앞에 나오게 만들어야 합니다. 그래야 pop해서 순서를 만들 수 있습니다. 최소의 연산을 하기 위해서는 왼쪽으로 움직여서 맨 앞으로 가져오느 경우, 오른쪽으로 움직여서 맨 앞으로 가져오는 경우 모두 해보아야 합니다. 그래서 왼쪽으로 움직여서 id..
[deque, 덱] 백준 1021번 회전하는 큐 c++ 풀이BOJ 1021번 회전하는 큐 c++ 풀이 랭크 : 실버4 백준 1021번 회전하는 큐 문제 정리 N개의 원소를 포함하고 있는 양방향 순환 큐가 있다. 첫 번째 원소를 뽑아낸다. 왼쪽으로 한 칸 이동. a1..ak -> a2..ak, a1 오른쪽으로 한 칸 이동 a1...ak -> ak, a1...ak-1 뽑아내려고 하는 원소의 위치가 주어질 때, 원소를 주어진 순서대로 뽑아내는데 필요한 4,5번 연산의 최솟값을 구하여라 문제 접근 arr의 idx 번째 수를 맨 앞에 나오게 만들어야 합니다. 그래야 pop해서 순서를 만들 수 있습니다. 최소의 연산을 하기 위해서는 왼쪽으로 움직여서 맨 앞으로 가져오느 경우, 오른쪽으로 움직여서 맨 앞으로 가져오는 경우 모두 해보아야 합니다. 그래서 왼쪽으로 움직여서 id..
2020.07.03 -
BOJ 16235번 나무 재테크 문제 자바(java) 풀이 랭크 : 골드5 백준 16235번 나무 재테크 문제 정리 NxN 크기의 땅이 있으며 1x1 크기로 나누어져 있다. 각 칸은 (r,c)로 나타내며 r과 c는 1부터 시작한다 가장 처음에 양분은 모두 5만큼 들어있다. 같은 1x1 크기의 칸에 여러 개의 내무가 심어져 있을 수 있다. 봄 봄에는 나무가 자신의 나이만큼 양분을 먹고, 나이가 1 증가한다. 각각의 나무는 나무가 있는 1x1 크기의 칸에 있는 양분만 먹을 수 있다. 하나의 칸에 여러 개의 나무가 있다면, 나이가 어린 나무부터 양분을 먹는다. 만약 땅에 양분이 부족해서 자신의 나이만큼 양분을 먹을 수 없는 나무는 즉시 죽는다 여름 봄에 죽은 나무가 양분으로 변하게 된다. 각각의 죽은 나무마다..
[시뮬레이션, List] 백준 16235번 나무 재테크 자바 풀이(삼성 sw 역량 테스트 기출)BOJ 16235번 나무 재테크 문제 자바(java) 풀이 랭크 : 골드5 백준 16235번 나무 재테크 문제 정리 NxN 크기의 땅이 있으며 1x1 크기로 나누어져 있다. 각 칸은 (r,c)로 나타내며 r과 c는 1부터 시작한다 가장 처음에 양분은 모두 5만큼 들어있다. 같은 1x1 크기의 칸에 여러 개의 내무가 심어져 있을 수 있다. 봄 봄에는 나무가 자신의 나이만큼 양분을 먹고, 나이가 1 증가한다. 각각의 나무는 나무가 있는 1x1 크기의 칸에 있는 양분만 먹을 수 있다. 하나의 칸에 여러 개의 나무가 있다면, 나이가 어린 나무부터 양분을 먹는다. 만약 땅에 양분이 부족해서 자신의 나이만큼 양분을 먹을 수 없는 나무는 즉시 죽는다 여름 봄에 죽은 나무가 양분으로 변하게 된다. 각각의 죽은 나무마다..
2020.05.03 -
BOJ 5430번 AC 문제 자바(java) 풀이 랭크 : 실버2 백준 5430번 AC 문제 정리 AC에는 정수 배열을 위한 두 가지 함수가 있다. R(뒤집기) : 배열에 있는 숫자 순서를 뒤집는다. D(버리기) : 첫 번째 숫자를 버린다. RDD 처럼 함수를 바로 이어서 사용할 수 있다. 한 번 뒤집은 다음 두개의 숫자를 버린다. 함수 실행 후, 최종 결과를 구하여라 문제 풀이 수를 실제로 뒤집고 반복한다면 시간초과가 나게 될것입니다. 그러므로 deque를 이용하여 앞 뒤에서 숫자를 지워줍니다. 파싱하는 것이 중요합니다. 숫자는 한자리수가 아니라 최대 100,000임을 인지해야 합니다. 이것 때문에 런타임 에러를 많이 봤습니다..ㅠㅠ 배열에 주어진 수가 하나도 없을때 함수에 D가 포함되어 있다면 에러를..
[BOJ] 백준 5430번 AC 자바(java) 풀이BOJ 5430번 AC 문제 자바(java) 풀이 랭크 : 실버2 백준 5430번 AC 문제 정리 AC에는 정수 배열을 위한 두 가지 함수가 있다. R(뒤집기) : 배열에 있는 숫자 순서를 뒤집는다. D(버리기) : 첫 번째 숫자를 버린다. RDD 처럼 함수를 바로 이어서 사용할 수 있다. 한 번 뒤집은 다음 두개의 숫자를 버린다. 함수 실행 후, 최종 결과를 구하여라 문제 풀이 수를 실제로 뒤집고 반복한다면 시간초과가 나게 될것입니다. 그러므로 deque를 이용하여 앞 뒤에서 숫자를 지워줍니다. 파싱하는 것이 중요합니다. 숫자는 한자리수가 아니라 최대 100,000임을 인지해야 합니다. 이것 때문에 런타임 에러를 많이 봤습니다..ㅠㅠ 배열에 주어진 수가 하나도 없을때 함수에 D가 포함되어 있다면 에러를..
2020.03.23