java
Math.random() 난수 생성하기
Returns a double value with a positive sign, greater than or equal to 0.0 and less than 1.0. Math.random() 메서드는 0.0 부터 1.0 사이의 랜덤한 double 값을 반환합니다. 원하는 범위의 랜덤한 값을 얻기 위해서는 {얻은 난수} * {원하는 범위} 를 해야합니다. double dValue = Math.random(); // 0.0 ~ 1.0 까지의 랜덤한 수 double dValue10 = Math.random() * 10; // 0.0 ~ 10.0 까지의 랜덤한 수 정수 난수를 얻고 싶다면 (int)({얻은 난수} * {원하는 범위}) 하여 정수로 casting 합니다. int iValue = (int)(Math..
[Java] 클래스/객체/메서드
객체지향언어의 특징 코드의 재사용성이 높음 새 코드 작성 시 기존 코드를 이용하여 쉽게 작성할 수 있음 코드의 관리가 용이함 코드간 관계를 이용하여 적은 노력으로 쉽게 코드 변경이 가능 신뢰성 높은 프로그래밍 가능 제어자와 메서드를 이용하여 데이터를 보호하고 올바른 값을 유지하도록함 코드의 중복을 제거하여 코드 불일치로 인한 오동작을 방지함 클래스와 객체 클래스 객체를 정의하여 객체 생성 시 사용 → 틀 객체 정의한 클래스로 만든 속성과 기능의 집합 → 실체 속성 : 멤버 변수 (상태, 값) 기능 : 메서드 (동작) 인스턴스 클래스로부터 만들어진 객체 변수 클래스 변수 : 멤버변수 중 static이 붙은 변수 클래스 영역에 선언 클래스가 메모리에 올라갈 때 생성 모든 인스턴스가 공통된 값을 유지해야하는 ..
[Java] 배열
같은 타입의 여러 변수를 하나의 묶음으로 다루는 것 선언 타입[] 변수이름 = new 타입[길이] // 단일 배열 타입[][] 변수이름 = new 타입[길이][길이] // 다차원 배열출력 for문 사용 Arrays.toString(배열변수) 사용 ** 예시 배열 복사 for문 사용 System.arraycopy() 사용 지정된 범위의 값들을 한 번에 통째로 복사 입력받을 값에 미리 초기화해놓아야 함 src 시작 위치와 dest 시작 위치를 지정할 수 있음 Arrays.copyof() 사용 ** 복사할 배열과 만들 배열의 길이를 선언 복사할 배열보다 배열의 길이가 길다면 나머지 배열 값은 0으로 초기화됨 예시
[Java] 변수
기본형 변수 (primitive type) 실제 값(data)을 저장하는 변수 논리형 (boolean) 문자형 (char) 정수형 (byte, short, int, long) 실수형 (float, double) 참조형 변수 (reference type) 값이 저장되어있는 주소(memory address)를 저장하는 변수 변수 타입으로 클래스 이름을 사용함 리터럴 (literal) 실제 값 접미사 long : l, L 진수 int octNum = 010; // 8진수 10, 10진수 8 int hexNum = 0x10; // 16진수 10, 10진수 16 int binNum = 0b10; // 2진수 10, 10진수 2 float: f, F double: d, D (생략 가능) 문자리터럴 작은 따옴표로 문..
[Codility] Lesson 1 - BinaryGap
문제 (+효율성) 양수 N이 주어지고 이 숫자를 이진수로 바꿨을 때, 1 사이에 낀 0의 최대 개수 구하기 예시 N(10) N(2) return 9 1001 2 529 1000010001 4 20 10100 1 15 1111 0 32 100000 0 풀이 JAVA - 100% 주어진 N을 binaryString 로 만든다. String을 char[] 로 만든다. 제일 큰 수를 돌려주기위한 int countMax = 0;, 1과 1 사이 0의 개수를 세기 위한 int countLocal=0을 정의한다. char[]를 하나씩 돌면서 '1'과 XOR 연산을 한다. 4-1. XOR 연산이 0보다 크면 countLocal을 증가시킨다. 4-2. XOR 연산이 0이면 countMax와 countLoc..