본문 바로가기
728x90

⛓ 자료구조5

[자료구조] 우선순위 큐 Priority Queue (프로그래머스 더 맵게 java 풀이) 1. 우선순위 큐(Queue)란? 일반적인 큐는 제일 먼저 들어간 데이터가 가장 먼저 나오게 되는 자료구조. 이런 큐의 특성과 달리 우선순위 큐는 들어간 순서에 상관없이 일정한 규칙에 따라 우선순위를 선정하고, 우선순위가 가장 높은 데이터가 가장 먼저 나오게 된다. 2. 우선순위 큐 function E peek() : 큐의 처음에 있는 원소를 삭제하지 않고 가져온다. 큐가 비어있으면 null을 반환 boolean offer(E e) :원소를 추가할 때 큐의 용량을 넘어서면 false를 반환한다. E poll() : 큐의 처음에 있는 원소를 가져온다. 큐에 원소가 없으면 null을 반환한다. E remove() : 큐의 처음에 있는 원소를 제거한다. 큐에 원소가 없으면 예외가 발생한다. 3. 우선순위 큐가.. 2022. 6. 17.
2022 SSG 쓱 신입 코테 후기 4문제 240분. 어렵겠지~ 했지만 진짜 어려웠다. 문제 자체도 길고, 고려할 포인트들도 정말 많았다. 배웠던 알고리즘, 자료구조 총출동 느낌 ㅋㅋ 그리고 1번 문제는 유효성 검사에서 계속 걸려 결국 정답을 제출하지 못했다ㅜㅜ 혹시 문제 푸신 분..?😭 코테 문제를 많이 안풀어본 편이긴해서 더 어렵게 느껴졌을지도 모르겠다.. 다음 코테는 더 준비해서 이번보다 쉽게 느껴지길!!🕊 2022. 5. 17.
백준 9020, 골드바흐의 추측(자바/java) 백준 9020, 골드바흐의 추측(자바/java) 문제 1보다 큰 자연수 중에서 1과 자기 자신을 제외한 약수가 없는 자연수를 소수라고 한다. 예를 들어, 5는 1과 5를 제외한 약수가 없기 때문에 소수이다. 하지만, 6은 6 = 2 × 3 이기 때문에 소수가 아니다. 골드바흐의 추측은 유명한 정수론의 미해결 문제로, 2보다 큰 모든 짝수는 두 소수의 합으로 나타낼 수 있다는 것이다. 이러한 수를 골드바흐 수라고 한다. 또, 짝수를 두 소수의 합으로 나타내는 표현을 그 수의 골드바흐 파티션이라고 한다. 예를 들면, 4 = 2 + 2, 6 = 3 + 3, 8 = 3 + 5, 10 = 5 + 5, 12 = 5 + 7, 14 = 3 + 11, 14 = 7 + 7이다. 10000보다 작거나 같은 모든 짝수 n에 .. 2022. 4. 6.
백준 1085, 직사각형에서 탈출 (자바/java) 백준 1085 직사각형에서 탈출 (자바/java) 문제 한수는 지금 (x, y)에 있다. 직사각형은 각 변이 좌표축에 평행하고, 왼쪽 아래 꼭짓점은 (0, 0), 오른쪽 위 꼭짓점은 (w, h)에 있다. 직사각형의 경계선까지 가는 거리의 최솟값을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 x, y, w, h가 주어진다. 출력 첫째 줄에 문제의 정답을 출력한다. * 제한 1 ≤ w, h ≤ 1,000 1 ≤ x ≤ w-1 1 ≤ y ≤ h-1 x, y, w, h는 정수 [풀이] 한수의 위치(x,y)에서 직사각형 오른쪽 위 꼭짓점의 위치인(w,h)이 있을 때 한수가 직사각형에서 탈출할 수 있는 최단거리를 구하는 문제다. 좌표들을 비교해서 가장 짧은 것을 찾으면 된다. if 문으로도 해결할 수 있고 자바 .. 2022. 4. 6.
백준 3053, 택시 기하학 (자바/java) 백준 3053 택시 기하학 (자바/java) 문제 19세기 독일 수학자 헤르만 민코프스키는 비유클리드 기하학 중 택시 기하학을 고안했다. 택시 기하학에서 두 점 T1(x1,y1), T2(x2,y2) 사이의 거리는 다음과 같이 구할 수 있다. D(T1,T2) = |x1-x2| + |y1-y2| 두 점 사이의 거리를 제외한 나머지 정의는 유클리드 기하학에서의 정의와 같다. 따라서 택시 기하학에서 원의 정의는 유클리드 기하학에서 원의 정의와 같다. 원: 평면 상의 어떤 점에서 거리가 일정한 점들의 집합 반지름 R이 주어졌을 때, 유클리드 기하학에서 원의 넓이와, 택시 기하학에서 원의 넓이를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 반지름 R이 주어진다. R은 10,000보다 작거나 같은 자연수이다. 출력.. 2022. 4. 6.
728x90