전체 글

좋은 성과를 얻으려면 한 걸음 한 걸음이 힘차고 충실하지 않으면 안 된다. -단테
·Language/Java
JAVA를 다루다 보면, 배열이나 객체를 정렬할 일이 있습니다. 이때에는 직접 정렬시키는 방법도 있겠으나, 보통은 자바 클래스 라이브러리에서 제공하는 메서드를 사용합니다. 이때 보통 Arrays.sort() 혹은 Collections.sort() 메소드를 통해 배열 혹은 리스트에 대한 정렬을 합니다. 이번 포스팅에서는 Arrays.sort()과 Collections.sort() 메서드를 알아보겠습니다. Array.sort()❓Arrays.sort(배열);오름차순으로 정렬하고 싶은 배열을 전달인자로 주면 전달인자로 받은 배열이 정렬됩니다.문자열의 경우 아스키코드 순 (알파벳 순)으로 오름차순 정렬되며, 한글도 가나다 순으로 정렬됩니다.위와 같이 괄호 안에 정렬할 대상이 되는 배열을 넣어주기만 하면 돼서 매..
·Coding Test/백준
▶ BufferedReader & 그리디 알고리즘을 활용한 간단한 문제가 있어 정리해보고자 합니다. 문제설명입력 & 출력나의 풀이 이번 문제는 거스름돈을 최소한의 동전 개수로 거슬러주는 문제로, 그리디 알고리즘으로 쉽게 해결할 수 있는 문제입니다. 처음에는 {0.25f, 0.10f, 0.05f, 0.01f} 형식으로 해야 하나 했지만 문제를 자세히 보면 1달러는 100 센트라고 나와있습니다. 즉 $0.25는 25센트,  $0.10는 10센트... 이렇게 {25, 10, 5, 1} 형식의 배열로 초기화가 가능합니다. 현재 상태의 최적의 결과를 뽑아내려면 가장 적은 수의 거스름돈을 줘야 하기 때문에 큰 값부터 나누는 것이 중요합니다. "풀이" 설명을 하자면 먼저 빠른 입력을 위하여 BufferedReader..
·Algorithm
그리디 알고리즘이란❓ 그리디 알고리즘이란 greedy라는 이름의 뜻에서 알 수 있듯이 탐욕스러운, 욕심스러운 알고리즘입니다. 탐욕이라는 뜻처럼 그리디 알고리즘(탐욕 알고리즘)은 각 단계에서 가장 최선의 선택을 하는 방법을 말합니다.  다음 그림을 보면 한눈에 알 수 있습니다. 위 그림을 보면 가장 큰 수를 탐색하는 과정을 greedy 알고리즘과 일반적으로 탐색하는 과정을 보여줍니다. 가장 큰 수를 찾기 위해 앞으로 간다면 제일 큰 수가 있는 "99"과 연결되어 있는 3 ➡️ 99 을 생각할 것입니다. 하지만 Greedy 알고리즘은 시작부터 3과 12 두 수중 가장 큰 수인 "12"을 탐색하고 그다음 큰 수인 "6"을 탐색합니다. 이 처럼 그리드는 최종결과에서의 최적의 해가 아닌 "현재상황에서 최적의 해"..
·Coding Test/백준
▶ BufferedReader & StringTokenizer &ArrayList를 활용한 간단한 문제가 있어 정리해보고자 합니다. 문제설명입력 & 출력나의 풀이 이번 문제는 정말 간단한 N의 약수를 구하고 그 약수들 중에서 K번째 요소를 출력하는 문제입니다. N의 약수들을 미리 알지 못하기 때문에 보통의 배열을 사용하려면 다른 작업이 필요합니다. 따라서 Java에서는 동적 배열을 사용하려면 ArrayList를 사용해야 하기 때문에 ArrayList로 풀어봤습니다.  먼저 빠른 입력을 위하여 BufferedReader 클래스를 사용하여 입력을 받아주고, 정수형으로 캐스팅합니다. 그리고 ArrayList를 만들어주고 반복문을 사용하여 N의 약수를 구하고, 해당 약수를 ArrayList인 list에 추가해줍..
지누박
ZINU