반응형 TechNical/JAVA46 [codility] FrogJmp Q. 1회 점프로 D만큼 이동 할 수 있는 개구리가 X지점에서 Y지점으로 이동하기 위해 점프하는 최소 점프 수를 구하시오. X = 10, Y = 85, D = 30 A. 3 [멍청이 버전] 일단 돌리고 보는 거다... public int solution(int X, int Y, int D){ int jumpCnt = 0; while(X 0){ jumpCnt++; } return jumpCnt; } 2018. 1. 12. [codility] CyclicRotation Q. 배열값을 지정한 횟수만큼 롤링으로 우측 한칸씩 이동하세요. A = {3, 8, 9, 7, 6} K = 3 A. {9, 7, 6, 3, 8} 첨에.. int[] B = A; 로 했더니 생각했던 값이 안 나와서 뭐지 라고 고민 했는데... 역시 멍청이는 힘들다. 위와 같이하면 주소값이 복사가 되는 거라서 같은 값을 가지게 된다. 어레이카피를 하거나 클론을 해야 독립적으로 각각 값을 가지게 된다. public int[] solution(int[] A, int K){ int[] B = A.clone(); } for(int i = 0 ; i < K ; i++){ for(int l = 0 ; l < B.length - 1 ; l++){ B[l + 1] = A[l]; } B[0] = A[A.length - 1].. 2018. 1. 12. [codility] OddOccurrencsInArray Q. 배열 값 중에서 짝이 없는 홀수 값을 찾으세요. A = {9, 3, 9, 3, 9, 7, 9} A. 7 [멍청이 버전] 보기에도 복잡하고 해석하기도 어렵고 무식하게 만들었다. 그래도 꼴에 나머지를 이용하는 기지를 발휘했다. 2로 나눠서 0이 아니면 짝수니까.... (원래 더 똥멍청이 버전이 있는데 그건 너무 부끄러워서 못 올리겠다.) public int solution(int[] A){ int rtnVal = 0; Map chkMap = new HashMap(); for(int i = 0 ; i < A.length ; i++){ if(chkMap.get(A[i]) == null){ chkMap.put(A[i], 1); }else{ chkMap.put(A[i], chkMap.get(A[i]) + 1).. 2018. 1. 12. [codility] BinaryGap 최근 codility 라는 재미있는 사이트를 알게 됐다. 문제를 풀면서 느낀건..... 난 멍청하고 무식하게 코딩하구나 이다 ㅠ_ㅠ... 인터넷 뒤져보니 똑똑한 사람 많구나 라는 걸 느꼈다. 성능 관련으로 시간복잡도, 공간복잡도라는게 있다는걸 이제서야 알게 됐다. 루프를 최소한으로 하고 메모리도 덜 잡아야 한다. 그리고 2진수나 비트 계산이 꽤나 유용하고 멋지다는 것도 알게 됐다. (하지만 난 수학장애라서 ... 너무 힘들다.) 효율적으로 개발하도록 이제부터는 생각 좀 하고 살자. 공개적으로 코드 올리는 것도 부끄럽지만... 그냥 적어 본다. (codility는 내가 푼 코딩을 다시 볼 수 없다.....) Q. 바이너리 값에서 1과 1사이가 가장 큰 값을 찾아보세요. N = 1041 A. 5 public.. 2018. 1. 12. ORA-01000 오류 발생, Statement 돌려막기 할 경우.. JAVA로 오라클에 들어 붙는 프로그램을 만들다 보면 이런 오류를 만나는 순간이 올 수도 있다. ORA-01000 최대 열기 커서 수를 초과 하였습니다. 대게 스테이먼트나 리절트 셋을 클로즈를 안 해 주면 리미트에 도달 했을때 저런게 난 다는데 아래와 같이 다중으로 쿼리를 날릴 때 발생을 한 경우가 있다. Satement stmt = null; ResultSet rs_1 = null; ResultSet rs_2 = null; ResultSet rs_3 = null; stmt = con.createStatement(); rs_1 = stmt.executeQuery("select * from table1); rs_2 = stmt.executeQuery("select * from table2); rs_3 = .. 2014. 5. 15. 자바 다중채팅 프로그램(Thread, Socket, SynchonizedList) 커맨드 창에서 써 먹어 볼 수 있는 다중 채팅 자바 소스이다.. 책에꺼 냅다 적어 놓은거임. 2011. 4. 24. ArrayList와 LinkedList의 차이점. 자료구조 형식이라고 하던데... ArrayList와 LinkedList라는 놈이 있다.. 사용하는 방법도 똑같다. 선언할때만 틀리고 안에는 타입을 넣어야 하는데 그냥 String으로 선언하는거 넣어 봤다. ArrayList list = new ArrayList(); LinkedList list = new LinkedList(); list.get(1); list.add("kei"); list.add(2, "kei2"); list.set(1, "hello"); list.remove(2); 뭐 이런식으로 똑같다. 근제 차이점은 성능이다 ArrayList는 일렬로 쭉 ~ 나열해 뒀고 LinkedList는 한놈한놈마다 서로를 가르키게 링크를 걸어 두고 첫놈과 끝에 놈 위치만 보관하면 된다. 그러면 읽는 일이 많을.. 2011. 4. 18. interface는 뭐하는 놈일까? 어쩌다가 interface까지 왔다.. 자바에서는 다중상속을 금지 한다. 두놈한테서 상속을 받는데 그 중에 한 놈이 똑같은 메소드 이름을 오버라이딩 해서 쓸 경우 어떤놈을 상속받아서 구현해야 하는지 골치 아프기 때문에 아예 막아 버렸다고 한다. 하지만 인터페이스는 다중 상속이 가능하다. .... 왜냐 인터페이스에서는 선언만 해 두지 로직을 구현하지 않기 때문이다. 인터페이스 선언 구문 interface MyInter { final static byte TEST_VAL = 1; void testMeth(String birth, String phone); void test2(); } 구현할때 class TestInter implements MyInter { String name; String addr; St.. 2011. 4. 14. super는 뭐 하는 놈일까 super까지 왔다. 상속을 했다는 얘기지... 얘는 왜 하는가??? 어따 쓰는 놈인가.. 필요한가? Test2 클래스를 Test3이 상속 받았다고 치자. class Test2{ int sum = 0; int num; static int tot_sum = 0; void calc(int amt){ sum = sum + amt; tot_sum = tot_sum + amt; } static int getTotSum(){ return tot_sum; } } 이 놈이 Test3 public class Test3 extends Test2{ int bal; Test3(int num, int bal) { this.bal = bal; } } 지금은 Test2를 상속받는데 super고 나발이고 필요가 없다. 이런 경우야 .. 2011. 4. 12. static은 뭐하는 놈인가? 시덥지 않은 기록 연달아서... ㅎ static붙이면 정적필드, 정적메소드 라고 부른다. 두개 크로스 해서 짬뽕으로 보자. public class Test { public static void main(String[] args) { Test2 t1 = new Test2(); Test2 t2 = new Test2(); t1.calc(100); t2.calc(200); int tot = Test2.getTotSum(); System.out.println(t1.sum); System.out.println(Test2.tot_sum); System.out.println(t2.sum); System.out.println(tot); } } class Test2{ int sum = 0; static int tot_su.. 2011. 4. 12. this란 뭐 하는 놈인가... 빵공장 직원도 아니고... 프레임워크 환경에서 작업을 시작했으니... 카피 & 페이스트 신공으로 if, for, case 만으로 모든 프로그램을 완성했으니.. 기초가 부족하다.. 한심한 노릇이다 ㅡㅡ; 그래서 쌩자바를 틈틈히 공부하기로 했다.ㅎ 요즘에는 개발도 안 하니.. 이게 될 일이 아니다.. this라는 놈이 있다. 이게 뭐 하는 놈인가.. 쉽게 말해서 로컬변수랑 구분지어 주는 놈이다. 생성자 클래스를 보자. class Test{ String name; Test(String name){ this.name = name; } } 이런식으로 쓸때 클래스의 변수랑 생성자에 받아 오는 변수랑 이름이 같으면 구분해 줄라고 쓴다. ... 별 시덥지 않은 -_-;; 그지같은 얘제를 하나 만들어 보자. public.. 2011. 4. 12. java에서 실행된 디렉토리 찾기 getProperty 뭐. 별건 아니고.. 사실 이거 몰라서 삽질 했었다는.. ㅡㅡ;; 자바가 어느 디렉토리에서 실행된 건지 잡아 오는 겁니다. 예를 들어서 D:\kei 라는 폴더에서 실행을 했다면 D:\kei 라는 디렉토리 명을 잡아 오는 거죠. 현재 실행된 디렉토리 System.getProperty("user.dir") 자바 클래스가 존재하는 경로 System.getProperty("java.class.path") 이 외에도 다양한 시스템 환경 값을 잡아 올 수 있습니다. 2010. 6. 29. 이전 1 2 3 4 다음 반응형