본문 바로가기

전체 글533

[네트워크] 서브네팅 (Subnetting) ※출처 : TOPCIT 에센스 서브네팅 (Subnetting) 하나의 네트워크 주소를 여러 개의 작은 네트워크로 나누어 사용하는 방식 서브넷 마스크 (Subnet mask) : IP 주소 중 네트워크 주소 부분을 구분하기 위한 마스크, ip주소와 AND 연산을 하여 네트워크 주소부분만 찾아냄 2020. 9. 9.
[알고리즘] 최고의 집합 (프로그래머스 Level3) 코딩테스트 연습 - 최고의 집합 자연수 n 개로 이루어진 중복 집합(multi set, 편의상 이후에는 집합으로 통칭) 중에 다음 두 조건을 만족하는 집합을 최고의 집합이라고 합니다. 각 원소의 합이 S가 되는 수의 집합 위 조건을 만족 programmers.co.kr 각 원소의 합이 s가 되는 n개의 원소로 이루어진 중복 집합 중에서 각 원소의 곱이 최댓값이 되는 경우를 찾으라는 문제이다. 수학적으로 생각했을 때 어떤 경우가 최대가 되는지 구하는 건 매우 간단하다. Solution 만약 s = 8이고 n = 2라고 가정해보자. 나올 수 있는 경우는 아래와 같다. 각 원소의 곱 7 12 15 16 케이스 (1, 7) (2, 6) (3, 5) (4, 4) 보다시피 각 원소들이 s / n에 가까워질수록 원소.. 2020. 9. 9.
[자바 이슈] Comparator 사용 관련 주의 알고리즘 문제를 풀다가 Comparator를 사용했는데 처음 보는 경우를 발견했다. 1. 런타임 에러 발생 코드 Arrays.sort(nodes, new Comparator() { @Override public int compare(int[] o1, int[] o2) { if(o2[1] > o1[1]) return 1; return -1; } }); 처음에 적은 코드이다. 내림차순 정렬을 하기 위해서 자리를 바꿔야 하면 1을 반환, 아니면 -1을 반환했는데 계속 몇몇 테스트 케이스에서 런타임 에러가 발생했다. 2. 정상 동작 코드 Arrays.sort(nodes, (o1, o2) -> o2[1] - o1[1]); 그리고 나중에 고친 코드이다. (람다식은 중요하지 않다.) 이건 정상적으로 돌아가는 코드인데.. 2020. 9. 9.
[자바] Arrays.sort() 자바 배열 정렬 Arrays.sort() 자바에서 제공하는 배열 정렬 메서드입니다. 따로 Comparator를 지정하지 않으면 기본적으로 오름차순으로 정렬됩니다. (단, Comparator를 사용하려면 객체형 데이터타입으로 선언해야 합니다. 내부적으로 QuickSort를 구현하기 때문에 O(log n)의 시간복잡도를 가집니다. ArrayList와 같은 Collections 프레임워크에 속하는 컴포넌트들은 Collections.sort()를 사용하면 됩니다. import java.util.Arrays; import java.util.Comparator; public class Main { public static void main(String[] args) { Integer array[] = {3,2,1,6,5,7,4,8.. 2020. 9. 9.