백준

문제 (Gold 5) https://www.acmicpc.net/problem/20055 20055번: 컨베이어 벨트 위의 로봇 길이가 N인 컨베이어 벨트가 있고, 길이가 2N인 벨트가 이 컨베이어 벨트를 위아래로 감싸며 돌고 있다. 벨트는 길이 1 간격으로 2N개의 칸으로 나뉘어져 있으며, 각 칸에는 아래 그림과 같이 1부 www.acmicpc.net 풀이 문제가 참,, 여러모로 이해하기 어려웠다,, 다른것보다 갑자기 출력하라고 나온 단어인 '단계'가 무엇인지 예제를 몇개 돌려보고야 알았던 것 같다. 여기선 1-4의 루틴을 한 단계라고 하고, 종료되기까지 총 몇번의 단계를 거쳤는지를 구하면 된다. 처음엔 일의 순서로 나와있는 1,2,3,4가 한 단계를 나타내는 줄 알았고, 예제1의 출력이 '2'번 단계..
문제 (Silver 1) https://www.acmicpc.net/problem/2531 2531번: 회전 초밥 첫 번째 줄에는 회전 초밥 벨트에 놓인 접시의 수 N, 초밥의 가짓수 d, 연속해서 먹는 접시의 수 k, 쿠폰 번호 c가 각각 하나의 빈 칸을 사이에 두고 주어진다. 단, 2 ≤ N ≤ 30,000, 2 ≤ d ≤ 3,000, 2 ≤ www.acmicpc.net 풀이 길이가 k인 슬라이딩 윈도우로 구현하였다. 이 때, 매번 i번째에 대해서 k개를 탐색하는 것이 아니라 ( → 시간초과! ) 초기의 window를 셋팅하고 start와 end 인덱스에 대해서만 처리하였다. 슬라이딩 할 때, eat[start] 값을 -1하고, 그 값이 0이라면 cnt를 하나 감소시킨다. → 윈도우 안에 해당 종류의..
문제 (Gold 4) https://www.acmicpc.net/problem/1253 1253번: 좋다 첫째 줄에는 수의 개수 N(1 ≤ N ≤ 2,000), 두 번째 줄에는 i번째 수를 나타내는 Ai가 N개 주어진다. (|Ai| ≤ 1,000,000,000, Ai는 정수) www.acmicpc.net 풀이 배열의 값들을 하나씩 돌며, 투 포인터를 사용하여 해당 수가 좋은지 판별하였다. 문제에 나와있는 예시가 너무 자명하기 때문에 아래 예시로 생각하고 문제를 풀었다. 5 -2 0 1 2 3 기본적으로 정렬을 진행해야 한다. 그렇지 않으면, 투포인터의 움직임에 따른 로직을 작성할 수 없다! left, right 값을 설정해주는데, 정렬을 해주었다고 right값을 i-1로 해서는 안된다! -> 음수가 있어..
문제 (Gold 4) https://www.acmicpc.net/problem/14658 14658번: 하늘에서 별똥별이 빗발친다 첫째 줄에 네 정수 N, M, L, K가 주어진다. (1 ≤ N, M ≤ 500,000, 1 ≤ L ≤ 100,000, 1 ≤ K ≤ 100) N은 별똥별이 떨어지는 구역의 가로길이, M은 세로길이, L은 트램펄린의 한 변의 길이, K는 별똥별의 수를 www.acmicpc.net 풀이 N과 M의 범위가 500,000까지이므로, 이를 모두 완전탐색하면 시간초과가 난다. 하지만, K의 개수는 100개 이하이기 때문에 K를 이용해서 탐색을 진행하면 된다. 위의 사진은 문제 예시를 좌표에 나타낸 것이다. 별들을 이중 for문으로 돌며, 각각에서 x좌표 y좌표를 추출하여 그 범위를 탐..
점이
'백준' 태그의 글 목록