본문 바로가기

전체 글

(118)
[Baekjoon 10026] 적록색약 - JAVA [Gold V] 적록색약 - 10026 문제 링크 성능 요약 메모리: 15360 KB, 시간: 140 ms 분류 너비 우선 탐색(bfs), 깊이 우선 탐색(dfs), 그래프 이론(graphs), 그래프 탐색(graph_traversal) 문제 설명 적록색약은 빨간색과 초록색의 차이를 거의 느끼지 못한다. 따라서, 적록색약인 사람이 보는 그림은 아닌 사람이 보는 그림과는 좀 다를 수 있다. 크기가 N×N인 그리드의 각 칸에 R(빨강), G(초록), B(파랑) 중 하나를 색칠한 그림이 있다. 그림은 몇 개의 구역으로 나뉘어져 있는데, 구역은 같은 색으로 이루어져 있다. 또, 같은 색상이 상하좌우로 인접해 있는 경우에 두 글자는 같은 구역에 속한다. (색상의 차이를 거의 느끼지 못하는 경우도 같은 색상이라 한..
[Java] BigInteger 큰 숫자 다루기 int의 범위는 -2,147,483,648 ~ 2,147,483,647이고 long의 범위는 -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807이다. 해당 범위를 넘는 숫자가 들어가게 되면 0으로 출력이 된다. 때문에 무한의 정수가 들어갈 가능성이 존재한다면 BigInteger 를 사용하는게 좋다. 자바 API에서는 이렇게 정의되어 있다. BigInteger: Immutable arbitrary-precision integers. (불변한 임의의 정말한 정수) BigInteger 는 문자열 형태로 이루어져 있기때문에 숫자의 범위가 무한하다. BigInteger는 java.math안에 있기 때문에 java.math.BigInteger로 불러와야 한다. BigI..
[Java] Priority Queue(우선 순위 큐) Priority Queue Priority Queue 란 우선순위 큐 로써 일반적인 큐의 구조인 First In First Out을 가져 데이터가 들어온 순서대로 데이터가 나가는 것이 아닌 우선순위를 결정하고 그 우선순위가 높은 데이터가 먼저 나가는 형태를 가진다. 자바에서 우선순위 큐를 사용하려면 java.util.PriorityQueue 를 import하고 Queue queue = new Ququq() 와 같은 형식으로 선언하면 된다. Priority Queue 는 기본적으로 int형 자료구조와 우선순위가 낮은 숫자 순으로 사용되기 때문에 만약 우선순위가 높은 숫자 순으로 사용하려면 Collections.reverseOrder() 를 사용하면 된다. import java.util.PriorityQue..
[Baekjoon 1927] 최소 힙 - JAVA 문제 링크 성능 요약 메모리: 32640 KB, 시간: 1300 ms 분류 자료 구조(data_structures), 우선순위 큐(priority_queue) 문제 설명 널리 잘 알려진 자료구조 중 최소 힙이 있다. 최소 힙을 이용하여 다음과 같은 연산을 지원하는 프로그램을 작성하시오. 배열에 자연수 x를 넣는다. 배열에서 가장 작은 값을 출력하고, 그 값을 배열에서 제거한다. 프로그램은 처음에 비어있는 배열에서 시작하게 된다. 입력 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0이라면 배열에서 가장 작은 값을 출력하고 그 값을 배열에서 ..
[Baekjoon 15238] Pirates - JAVA 문제 링크 성능 요약 메모리: 14544 KB, 시간: 136 ms 분류 구현(implementation), 문자열(string) 문제 설명 Pirates talk a funny way. They say word where the letters are repeated more than they need to be. We would like know which letter appears the most frequently in a Pirate word. For example: In the word “arrrrrghh”, the letter “r” appears 5 times while “h” appears twice. Write a program that reads a pirate word from the..
[Baekjoon 15240] Paint bucket - JAVA 문제 링크 성능 요약 메모리: 74560 KB, 시간: 712 ms 분류 너비 우선 탐색(bfs), 깊이 우선 탐색(dfs), 그래프 이론(graphs), 그래프 탐색(graph_traversal) 문제 설명 One of the most time-saving operations when drawing on a computer (for example using Photoshop) is the “bucket fill” operation. When you select this tool and click on a (target) pixel of the image it will fill all the pixels that have the same color than the target pixel and are c..