본문 바로가기

알고리즘

(5)
백준 1181 단어 정렬 BOJ 1181, 단어 정렬 단어의 중복을 제거한다. -> Set 사용 단어를 사전 순으로 정렬한다. -> Collections.sort 사용 단어를 길이순으로 정렬한다. -> new Comparator 사용 3-1 단어 길이 순으로 정렬 Collections.sort(list, new Comparator() { @Override public int compare(String o1, String o2) { return o1.length() - o2.length(); } }); 3-2 단어 길이 순으로 정렬 (lambda expressions) Collections.sort(list, (o1, o2) -> o1.length() - o2.length()); 3-3 단어 길이 순으로 정렬(Comparator...
BOJ 1620번, 나는야 포켓몬 마스터 이다솜 boj 1620번, 나는야 포켓몬 마스터 이다솜 https://www.acmicpc.net/problem/1620 문제 접근 처음시도에는 문제에 접근했을 때, 하나의 int 배열에 넣어서 구현했음 -> 시간초과 두번째 시도에는 데이터를 담는 배열을 2개를 만들었음. String으로 문제가 들어오면 HashMap을 이용하여 답을 출력하고, int로 문제가 들어오면 Stringp배열을 이용해 답을 출력했음. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.HashMap; import java.util.LinkedHashMap; public class Main {..
BOJ 2501 약수구하기 알고리즘-boj2501 BOJ 2501 약수구하기 4번의 문제를 틀리고 난 뒤에 성공을 했다. 같은 실수를 반복하지 않기 위해 기록을 남긴다. 약수 구하기 자연수 N과 K가 주어졌을 때, N의 약수들 중 K 번째로 작은 수를 출력하는 프로그램을 작성 만일 N의 약수의 개수가 K개보다 적어서 K번째 약수가 존재하지 않을 경우 0을 출력 N의 약수의 개수가 K개보다 적다는 생각을 못했음. 다양한 경우의 수가 존재하지만 예제 입력만 확인한채 제출한 점. N의 약수의 개수가 K개보다 적어서 K번째 약수가 존재하지 않을 경우 0을 출력해야 하는데 내 마음대로 -1을 출력함 문제를 잘 읽어보고 풀어야 겠다. 예제 뿐만 아니라 몇 개의 테스트 케이스(경계값)를 더 생각한뒤 테스트 해보고 제출해야겠다. im..
CodeForces, 1A. Theatre Square 32bit 정수 값의 범위 32비트에 저장할 수 있는 정수 값의 범위 0 ~ 4,294,967,295 -2,147,483,648 ~ 2,147,483,647 double형 소수점 올림 double pi = 3.14159265359; System.out.println(String.format("%.0f", pi)); // 출력 : 3 System.out.println(String.format("%.1f", pi)); // 출력 : 3.1 System.out.println(String.format("%.2f", pi)); // 출력 : 3.14 System.out.println(String.format("%.3f", pi)); // 출력 : 3.142 1A. Theatre Square codeforces, ..
선택 정렬 selection sort 제자리 정렬 알고리즘 장점 구현이 쉽다. 제자리 정렬(추가 저장 공간이 필요 없음) 단점 데이터의 양에 유연하지 않습니다. 알고리즘 구현 목록에서 최소값을 찾습니다. 찾은 최소값을 맨 앞의 값(혹은 현재 위치의 값)과 교체합니다. 배열의 전체 요소가 정렬될 때까지 이 과정을 반복합니다. void selctionSort(int[] list, int n) { int i, j, min, temp; for (i = 0; i < n - 1; i++) { min = i; for (j = i + 1; j < n; j++) { if (list[j] < list[min]) { min = j; } } temp = list[min]; list[min] = list[i]; list[i] = temp; } } 성능 최악의 경우..