자바

문제 https://leetcode.com/problems/implement-stack-using-queues/description/ 오직 두개의 queue만을 사용하여 후입선출(LIFO)의 stack을 구현하여라. 구현된 스택은 기본 스택의 함수(push, top, pop, empty)들을 지원하여야 한다. MyStack 클래스를 구현하여라. void push(int x): 스택의 끝에 x를 넣는다. int pop(): 스택의 끝 값을 지우고, 이를 반환한다. int top(): 스택의 끝 값을 반환한다. boolean empty(): 스택이 비어있으면 true를 반환하고, 아니라면 false를 반환한다. 주의 오직 큐의 표준 operation만을 사용하여라. 이는 큐의 끝에서 요소를 추가하는 push..
문제 (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좌표를 추출하여 그 범위를 탐..
점이
'자바' 태그의 글 목록