전체 글

여러분 안냐세욤
· JAVA
Scanner은 java.util에 있는 라이브러리! import java.util.Scanner; 을 불러주고 시작해야 한다. -Scanner 클래스의 선언- Scanner name = new Scanner(System.in); ㅇ인자로 System.in을 넣어준다. -Scanner 클래스의 여러 메소드- ㅇnext() : 문자열을 입력 받을때 사용 / 공백 이전의 한 단어를 받아온다. ㅇnextLine() : \n(개행문자)가 나오기 전까지 문자열을 입력 받는다. ㅇnextInt() ㅇnextDouble() ㅇnextLong() ㅇnextShort() 등 . . . 아래서 자세히 공부해보자. //Scanner 클래스를 호출해주자 import java.util.Scanner; //Scanner 객체를 ..
· JAVA
메소드 - 일련의 코드를 단순화 한다. - 일반적으로 입력에 따른 결과값을 반환한다. - void타입의 메소드는 리턴값이 존재하지 않는다. - 더욱 편리한 프로그래밍을 가능케 한다. - 반환값은 메소드를 호출했던 해당 위치로 반환한다. http://appu.kr/?i=12298224 인플루언서 마케팅 애드릭스-CPA CPI CPS 제휴마케팅 재택알바 광고 블로그 페이스북 SNS로 집에서돈버는방법 애드릭스입니다.단기재택근무알바 CPA CPI CPS 광고 홍보 수익을 창출해보세요.부업투잡창업 가능 www.adlix.co.kr 공부하다가 궁금했던 내용의 답을 찾았다!! 아하 이랬던거구나.. 1. 메소드 구성 아무튼 직접 어떤 메소드를 만들어보자. 그전에.. 메소드의 구성 먼저 알아가자. public stati..
어젯밤에는 유튜브를 꽤 봤다. 교양시간에 알게 된 마쓰시타 고노스케가 궁금해져서 영상자료를 찾아봤다. 그렇게 내 머릿속에 새로운 한 사람이 더 추가됐다. (싸강 넘 좋다. 다시보기 할 수 있는게 특히 좋다. ㅠㅅㅠ 우리도 1학기 전체 싸강했으면 좋겠다 근데 코로나 넘 싫다!) 그러다가 문득 내가 개발자 환경을 잘 모르고 있다는 생각이 들어서 관련 영상을 찾아봤다. 괜찮은 두 채널을 구독했다. 너무 좋은 정보들이 많아서 이런 걸 무료로 볼 수 있는 시대에 감사하기까지 했다. 유튜브 아니었으면 절대 들을 수 없는 얘기들이고 마주칠 일이 없는 사람들이다. 그런데 어젯밤에 그냥 우리집 책상에서 들었다. 완전 고급 정보들을ㅜㅇㅜ 넘나 감사합니다. 두 채널에서 공통적으로 말하는 부분이 있었다. 크게 분류해보자면 소..
두 가지 데이터 조회 방법이 있다. 1. 77이라는 값을 가진 노드를 조회하겠다. 2. 네번째 자리 (인덱스3)에 있는 값을 가져오고 싶다. 순서대로 알아보자. 77이라는 값을 가진 노드를 조회하겠다. ( v = 77 이라고 visualgo.net에서 설정하고 간다. ) 간단하다. index = 0, temp = head while (temp.item !=v) index++, temp = temp.next if temp == null return NOT_FOUND 그냥 코드 읽어보면 다 알거다. 네번째 노드의 데이터를 조회하고 싶다면 어떻게 할까? 첫번째 노드로 접속하고, 넥스트하고 인덱스 카운트, 넥스트하고 인덱스 카운트.. 하면서 해당 인덱스로 왔을 때, 그 노드에 있는 값을 출력해주면 된다. '물어..
visualgo.net 접속하기! Linked List에서 데이터를 삭제하는 과정을 시각적으로 확인해보고, 코드도 살펴보자. 1. Vertex pre = head >>pre라는 노드를 헤드로 지정한다. '현재 head와 pre는 똑같이 15라는 노드를 가리키고 있다' 2. for (k=0 ; k < i-1 ; k++) pre = pre.next 먼저, 나는 인덱스3에 있는 데이터를 삭제하려고 i=3으로 입력했다. 그럼 인덱스2에 pre라는 자리를 줘야 한다. 인덱스3 이전 노드의 정보가 필요하니까! 그럼, 첫번째 노드부터, 인덱스2 노드까지 .next를 이용하여 가야 한다. pre = pre.next가 그것이다. k=0,1에서 수행이 된다. 3. Vertex del = pre.next, aft = del..
visualgo.net을 통해서 Linked list가 어떻게 동작하는지 살펴보는 시간이다.. Linked list를 시각화해서 보여주는 페이지로 이동한다. 노드 다음 노드 다음 노드.. 이런식으로 연결되어 있는 것을 시각적으로 확인할 수 있다. 85를 헤드에 넣어보자. 그럼 이런 그림을 볼 수 있다! 85를 헤드에 추가하는 과정을 하나하나 확인해보자. 코드를 보자. Vertex vtx = new Vertex(v) Vertex라는 객체를 new로 만들었다. 또한 Vertex라는 객체를 생성할 때, 'v'라는 값을 매개변수로 줬다. 우리가 방금 입력한 85라는 숫자가 저 v의 값으로 들어가서, 85라는 값을 가지고 있는 노드가 만들어졌다. 그 노드의 이름은 vtx라고 보면 된다. 저 vtx라는 노드가 그림..
Linked list를 이해하기 위한 사전지식을 간단히 정리해보자. Storage (hdd, ssd, 플로피디스크) - 데이터를 이곳에 저장하게 된다. ㅇ 특징: 가격이 저렴하다. 용량이 크고, 전원이 꺼져도 데이터 저장되어 있다. Memory ㅇ비싸고, 용량이 스토리지보다 작고, 끄면 데이터가 휘발된다. ㅇ스토리지보다 훨씬더 빠르게 데이터를 저장하고 가져온다. Cpu 생각하고 계산하고 연산하는 것.. ㅇ처리속도가 가장 빠르다. -> 상대적으로 스토리지가 너무 느리다. 그래서 스토리지에 있는 데이터를 메모리로 넘긴 후, 그 메모리에 있는 데이터를 CPU가 처리하는 방법으로 동작한다 그래서 데이터 스트럭쳐의 관심 대상은 메모리다! 메모리를 효율적으로 사용하는 것이 자료구조에 가장 중요하고, 공부하는 이유이..
흑흑 나 너무 부족하다 빨리 공부를 더 열심히 해야겠다 앞서 만든 ArrayList는 배열의 크기를 지정해 줬기 때문에, 무한정 추가할 수는 없다. (참고: 여기서 LinkedList의 장점이 드러난다. LinkedList는 메모리가 감당하는 한, 무한정 데이터를 추가할 수 있다. 반면에, ArrayList는 애초에 배열의 크기를 지정하기 때문에 무한정 추가할 수 없다. 또한, 배열의 크기를 과도하게 크게 설정한 경우 공간의 낭비가 생긴다.) 그래서 나는 아래 코드처럼 resize() 메서드를 구현해보았다. 모든 부분을 잘 알아두자. resize()를 void로 선언하여서 Object[] newArray = new Object[size+50]으로 새로운 ArrayList를 정하고 그것의 크기를 size보..
오잉? 여기서 변수로 직접 접근하지 않고 메소드를 사용하는 이유는? >>그래야지 외부에서 저 size라는 변수값을 마음대로 수정하지 못하기 때무니. 그래서 이전에, 저 size값은 private로 선언했다. System.out.println(numbers.indexOf(20)); 20의 값을 가지는 인덱스가 몇번이냐? 를 알아보고 싶다. .indexOf() 이것도 구현해보자. 자 일단 쭉 순회하면서 해당 값이 있는지 없는지 체크하는과정이 필요하겠지 public int indexOf(Object o){ for(int i=0; i return -1; 더보기 오케이~~ !! sting.equals(Object other) 메소드를 사용하면 string객체의 문자열을 비교할 수 있으나, ==연산자를 사용하면 문..
Object클래스가 가진 메소드 중 toString메소드가 있다. 물론 Object 클래스의 모든 메소드는 모든 클래스가 사용이 가능하다. toString 메소드는 객체의 정보나 값들을 문자열로 만들어 리턴하는 메소드 "클래스 또는 객체를 대표하는 문자열을 커스터마이즈" 지금까지는 배열에 저장한 데이터를 확인하려면 System.out.println(arraylist.get(0))와 같이 일일이 데이터를 불러와야 했다. toString 메소드를 오버라이드 해서 System.out.println(arraylist)로 저장된 데이터를 한 번에 확인해보자. toSting을 구현해보자 배열 numbers의 요소들이 []안에 표시되게끔 해보자. 여기서 for문을 이용해서 모든 list의 값을 순회할 필요가 보여야 ..
히어로맛쿠키
자꾸 생각나는 체리쥬빌레