JAVA
1. 중앙값 구하기
- Array 쓸 땐 import 해야함 (이클립스에서 import 해오자)
- 다음엔 백준 풀어보자. 프로그래머스 불편하다. (import도 안해주다니.. 치사함)
Arrays.sort(배열명);
-- 배열 오름차순으로 정렬
https://codechacha.com/ko/java-sorting-array/
Java - 배열 정렬(Sorting) (오름차순, 내림차순)
Arrays.sort()을 이용하면 쉽게 배열(Array)을 내림차순, 오름차순으로 정렬(sorting)할 수 있습니다. Integer, String 등 구분없이 모든 객체를 정렬할 수 있습니다. 또한, 클래스에 Comparable을 구현하면 객체
codechacha.com
이클립스에서 테스트 할 때
더보기
package algo;
import java.util.Arrays;
class Solution {
public int solution(int[] array) {
int answer = 0;
// 배열 오름차순으로 정렬
Arrays.sort(array);
// 중앙값 뽑기
answer = array[(1 + array.length) / 2];
return answer;
}
}
public class Programers {
public static void main(String[] args) {
// TODO Auto-generated method stub
Solution s = new Solution(); // 클래스 변수 생성
int[] array = { 1, 11, 5, 8, -12 }; // 배열 값 할당
System.out.println(s.solution(array)); // 메소드에 파람 넣어서 결과 출력
}
}
- 다른 사람 풀이
1) 시프트 연산자(>>, <<)를 나누기 대신 씀 -- 비트 연산자
import java.util.Arrays;
class Solution {
public int solution(int[] array) {
Arrays.sort(array);
return array[array.length >> 1];
}
}
x >> y 는 비트x를 y만큼 오른쪽으로 이동하라는 뜻.
비트: 프로그램 처리 능력의 최소 단위. 2의 x 제곱에서 x가 비트를 나타냄. 8비트 = 1바이트
[출처] https://www.allaboutcircuits.com/textbook/digital/chpt-1/decimal-versus-binary-numeration/
5 >> 2 는
00000101 를 두 칸 이동하여 00000001이 됨. (5 -> 1)
array[array.length >> 1] 은
5 >> 1 = (5 -> 2)
7 >> 1 = (7 -> 3)
15 >> 1 = (15 -> 7)
즉, array[array.length/2] 와 같음.
2) 이중 for문으로 배열 오름차 순으로 정렬
class Solution {
public int solution(int[] array) {
int answer = 0;
for (int i = 0; i < array.length; i++) {
for (int j = i; j < array.length; j++) {
if (array[j] < array[i]) {
int temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
}
answer = array[array.length / 2];
return answer;
}
}
SQL (Oracle)
1. 경기도에 위치한 식품창고 목록 출력
- nvl 함수는 h2와 oracle에서만 쓰이는 전용 함수이다. (MYSQL 에서는 IFNULL 쓴다고 함)
2. 고양이와 개는 몇마리 있을까