목록전체 글 (26)
인사이트
* 내림차순 // 정렬 알고리즘(내림차순) int[] score = {36, 65, 3, 12, 78}; for (int i = 0; i score[j]) {
score의 0번째 인덱스 = 1 과 score의 3번째 인덱스 = 4 의 위치를 서로 바꾸는 코드를 짜봤다. // swap기본 알고리즘 int[] score = { 1, 2, 3, 4, 5 }; System.out.print("swap이전 : "); for (int i = 0; i < score.length; i++) { System.out.print(score[i] + " "); } // 여기가 숫자를 서로 바꾸는 코드 int temp = score[0]; score[0] = score[3]; score[3] = temp; System.out.println(); System.out.print("swap이후 : "); for (int i = 0; i < score.length; i++) { System..
아래는 내가 짜봤던 코드이고 다음과 같은 걸 구하는 코드이다 1. 합계 2. 평균(셋째 자리에서 버리고 둘째자리까지 나타내기) 3. 평균(셋째 자리에서 반올림해서 둘째자리까지 나타내기) // 합계, 평균 계산 방법 1 int[] score = { 98, 78, 87 }; int totalSum = 0; double avgD = 0.0; int avgI = 0; for (int i = 0; i < score.length; i++) { totalSum += score[i]; } System.out.println("총점은 " + totalSum); avgD = (double) totalSum / score.length; System.out.println("평균은 " + avgD); avgI = totalSum..
num의 값 123456789를 뒤집어서 987654321을 만들어보자! int num = 123456789; int reverse = 0; while (num != 0) { int digit = num % 10; reverse = reverse * 10 + digit; num /= 10; } System.out.println(reverse); 계획 1. 123456789를 끝에서부터 한 개씩 자른다 2. 잘려진 숫자를 맨 앞에 차례대로 위치시킨다 어떻게 끝에 숫자를 가져올 수 있을까? num을 10으로 나눈 나머지를 가져오면 된다. 무슨 말이냐면 123456789를 10으로 나누면 몫이 123456780이고 나머지가 9가 된다. 그래서 나머지를 가져온다는 건 마지막 자리 숫자를 가져오겠다는 말과 같은 ..
1. 각 타입의 기본 값 byte = 0 short = 0 char = 0 int = 0 long = 0L float = 0.0F double = 0.0 boolean = false 2. char char c = 65; char는 문자 하나만을 담는 변수타입이라고 들었던 것 같은데 저게 과연 가능할까? 가능하다. 어떻게 가능할까? 시스템은 저걸 65가 숫자가 아니라 unICode에 의해 A로 인식하기 때문이다(참고로 a는 97이다) * 그래서 문자열의 대소비교가 가능하다 3. 형변환 → 이쪽으로 가면 자동 형 변환이 되고 byte < short < int < long < float < double char 그럼 byte나 short같은 형은 왜 만들었을까? 예전에는 1byte 1byte가 귀한 시절이 있..
결론 1번과 3번방법만 된다. = in과 =을 함께 쓰면 원하는 결과를 얻을 수 없다. 사람이 해석하기에는 너무 말이 되는 말이지만 기계는 아닌가보다.
오라클DB에서 제공하는 특별한 column 이 있다. 바로 rownum이라는 아이이다. 바로 예제로 가보겠다. 급여가 가장 높은 사람을 순서대로 세운 다음, 그 중 2~4번째인 사람의 데이터를 조회하라는 미션을 받았다. 난 아주 당당하게 위처럼 적었고, 당연히 실행될 줄 알았다. 왜냐면 저 의미자체가 emp라는 테이블에서 rownum이 2~4번째인 사람의 데이터만을 가져오라는 거니까 결과는 처참했다(나오지 않았다ㅎㅎ) 왜 안나왔을까? 문제가 없어보이는데 말이다. 2가지를 간과했었기 때문이다. 1. Rownum이 카운트를 할 땐 반드시 1부터 시작한다. 2. 쿼리 실행 순서는 from > where > group by > having > select > order by이다. 위 두 문제점을 해결하려면 어떻..