java.lang.Math 클래스 수학에서 자주 사용하는 상수들과 함수들을 미리 구현해 놓은 클래스 모든 메소드는 static method이므로, 객체를 생성하지 않고 바로 사용 가능 Math.E와 Math.PI Math.E : 오일러의 수, 자연 로그의 밑 값으로 약 2.718을 의미 Math.PI : 원의 원주를 지름으로 나눈 비율(원주율) 값, 약 3.14159를 의미 random() 메소드 0.0 이상 1.0 미만의 범위에서 임의의 double형 값을 하나 생성하여 반환 내부적으로 java.util 패키지의 Random 클래스를 사용한 의사 난수 발생기(pseudorandom-number generator)를 사용하여 임의의 수 생성 아래 코드는 0부터 99까지의 난수를 생성하는 예 System...
https://school.programmers.co.kr/learn/courses/30/lessons/43165?language=java# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 n개의 음이 아닌 정수들이 있습니다. 이 정수들을 순서를 바꾸지 않고 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. 사용할 수 있는 숫자가 담긴 배열 numbers, 타겟 넘버 target이 매개변수로 주어질 때 숫자를 적절히 더하고 빼서 타겟 넘버를 만드는 ..
final 상속/변경을 금지하는 것 final 필드(변수) 실행되는 과정에서 한 번 값이 정해진 이후에는 값이 바뀌지 않도록 함 10행과 28번 행에서 변수 PI의 값을 수정하려고 하지만 오류 발생 class Calculator { static final double PI = 3.14; int left, right; public void setOprands(int left, int right) { this.left = left; this.right = right; //final로 지정된 변수에는 한번 값이 할당되면 그 값을 바꿀 수 없기 때문에 오류가 발생한다. //Calculator.PI = 6; } public void sum() { System.out.println(this.left + this.r..
equals()와 hashCode는 모든 Java 객체의 부모인 Object 클래스에 정의되어 있기 때문에, Java의 모든 객체는 Object 클래스의 equals와 hashCode()를 상속받음 동일성 : 주소 값을 비교 ( == ) 동등성 : 객체 내부의 값을 비교 (equals와 hashCode를 재정의 하여 비교) equals() ? 2개의 객체가 동일한지 검사하기 위해 사용 기본적으로 주소 값을 비교하여 같은 메모리 주소를 가진 경우에 동일하다고 판단 public boolean equals(Object obj) { return (this == obj); } hashCode() ? 객체의 HashCode란 객체를 식별할 하나의 정수 값을 의미 hashCode()는 객체의 HashCode를 리턴 ..
https://www.acmicpc.net/problem/15591 15591번: MooTube (Silver) 농부 존은 1번 동영상과 2번 동영상이 USADO 3을 가지고, 2번 동영상과 3번 동영상이 USADO 2를 가지고, 2번 동영상과 4번 동영상이 USADO 4를 가진다고 했다. 이것에 기반해서 1번 동영상과 3번 동영상의 www.acmicpc.net 농부 존은 남는 시간에 MooTube라 불리는 동영상 공유 서비스를 만들었다. MooTube에서 농부 존의 소들은 재밌는 동영상들을 서로 공유할 수 있다. 소들은 MooTube에 1부터 N까지 번호가 붙여진 N (1 ≤ N ≤ 5,000)개의 동영상을 이미 올려 놓았다. 하지만, 존은 아직 어떻게 하면 소들이 그들이 좋아할 만한 새 동영상을 찾을..
== 연산자 int, boolean과 같은 Primitive type에 대해서 값 비교 Reference type에 대해서는 주소값 비교 Primitive type도 Constant Pool에 있는 특정 상수를 참조하는 것이기 때문에 결국 주소값을 비교하는 것으로 볼 수 있음 int a = 10; int b = 10; int c = 20; System.out.println(a==b); //true System.out.println(a==c); //false 변수 a,b,c는 값이 stack에 존재하므로 stack에 있는 변수 값만 비교하게 됨 equels() Object에 포함되어 있기 때문에 equals()를 재정의 해서 사용할 수 있음 Object의 equals() public boolean equa..
네트워크 지연 하나의 데이터가 송신지에서 수신지까지 이동할 때 걸리는 시간 4가지 종류 노드 처리 지연 (Node Processing Delay) 라우터에서 패킷 내 데이터의 에러를 체크하거나, 다음 경로를 결정하는 데 걸리는 지연 매우 짧은 시간 동안만 발생 전송 지연 (Transmission Delay) 라우터가 패킷을 Link(2계층 링크) 로 밀어내는 과정에서 발생하는 지연 패킷의 사이즈가 커지거나 Link의 Bandwidth가 작을수록 딜레이가 길어짐 큐잉 지연 (Queueing Delay) 패킷이 큐에서 다른 패킷들의 작업이 끝나길 기다리는 시간 라우터가 한 번에 한 개의 패킷을 처리하기 때문에, 먼저 들어온 패킷이 처리될 때 까지 기다려야 할 수 있음 패킷 손실의 주된 원인 큐잉 지연은 라우..