본문 바로가기

All118

[Java] 컬렉션 프레임웍(Collections Framework) 연습문제 * 이 포스팅의 연습문제는 남궁성 선생님의 자바의 정석에 수록된 문제이며 정답 및 해설은 본인의 의견입니다. * 연습문제 PDF파일은 아래 남궁성 선생님의 GitHub에서 다운 받으실 수 있습니다. https://github.com/castello/javajungsuk3 castello/javajungsuk3 soure codes and ppt files of javajungsuk 3rd edition - castello/javajungsuk3 github.com [11-1] 다음은 정수집합 1,2,3,4와 3,4,5,6의 교집합, 차집합, 합집합을 구하는 코드이다. 코드를 완성하여 실행결과와 같은 결과를 출력하시오. [Hint] ArrayList클래스의 addAll(), removeAll(), reta.. 2019. 8. 23.
[Java] 컬렉션 프레임워크(Collections Framework) * 이 포스팅은 남궁성 선생님의 'Java의 정석'책의 내용을 정리한 내용입니다. 컬렉션 프레임웍 개념 - 개념 : 데이터 군(컬렉션)을 저장하는 클래스들을 표준화(프레임웍)한 설계 - 컬렉션데이터 그룹은 크게 3가지 -> List, Set, Map. ('데이터'의 종류는 이 세가지로 나눌 수 있다는 의미인듯) 그리고 이들을 다루기 위한 인터페이스를 각각 정의했고(데이터를 분석해보니까 List, Set, Map이렇게 세가지로 나눌 수 있고, 데이터들을 다루는 인터페이스를 각 데이터 이름으로 정의.) 이 중에서 List와 Set의 공통된 부분을 뽑아 Collection이라는 인터페이스를 추가로 정의했다.(List와 Set의 조상인터페이스) (Collections이라는 인터페이스를 왜 추가로 정의했을까? -.. 2019. 8. 22.
[Java] Vector 구현 * 보완점 : add, remove메서드 구현시 반복문으로 처리하지 않고 System.arraycopy()를 활용하면 좋음. 반복문은 배열 요소를 하나하나씩 복사하는데 System.arraycopy()는 지정된 범위의 메모리를 한번에 통째로 복사하므로 속도면에서 유리함. (ex. int값 5개면 20Byte를 통째로 복사함) : 유효성 검사에 신경쓸 것 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 7.. 2019. 8. 21.
[Java] Object-Oriented Programming * 1) OOP(1980~2000)->2) FP(2000~)->3) ML 1) OOP - 등장배경 : 기존 절차형 언어가 SW의 변화를 감당못함 2) FP - BigData 3) Machine Learning - ML이론(1980) + BigData * 특징 : 코드간의 관계를 맺어주기 때문에 관리가 용이해짐 => 코드의 재사용성↑ 코드중복↓ 1) 캡슐화 2) 상속 3) 추상화 4) 다형성 * 모든 객체는 참조변수(리모컨)를 필요로 한다. (객체생성 : TV t = new TV()) (객체사용 : t.channerl = 7; >>> t = 리모컨) * 객체배열 = 객체를 묶어놓은 것 = 참조변수의 배열 (Tv[] tvArr = new TV[3];) * 클래스의 정의(개념) 1) (개념적인) 설계도 2) .. 2019. 8. 8.
프로그래머스)2017카카오코드 예선_카카오프렌즈 컬러링북 https://programmers.co.kr/learn/courses/30/lessons/1829 코딩테스트 연습 - 카카오프렌즈 컬러링북 | 프로그래머스 6 4 [[1, 1, 1, 0], [1, 2, 2, 0], [1, 0, 0, 1], [0, 0, 0, 1], [0, 0, 0, 3], [0, 0, 0, 3]] [4, 5] programmers.co.kr 문제 설명-카카오 프렌즈 컬러링북 출판사의 편집자인 어피치는 네오에게 컬러링북에 들어갈 원화를 그려달라고 부탁하여 여러 장의 그림을 받았다. 여러 장의 그림을 난이도 순으로 컬러링북에 넣고 싶었던 어피치는 영역이 많으면 색칠하기가 까다로워 어려워진다는 사실을 발견하고 그림의 난이도를 영역의 수로 정의하였다. (영역이란 상하좌우로 연결된 같은 색상의 .. 2019. 8. 7.
프로그래머스)2017KAKAO BLIND RECRUITMENT_비밀지도 https://programmers.co.kr/learn/courses/30/lessons/17681 코딩테스트 연습 - [1차] 비밀지도 | 프로그래머스 비밀지도 네오는 평소 프로도가 비상금을 숨겨놓는 장소를 알려줄 비밀지도를 손에 넣었다. 그런데 이 비밀지도는 숫자로 암호화되어 있어 위치를 확인하기 위해서는 암호를 해독해야 한다. 다행히 지도 암호를 해독할 방법을 적어놓은 메모도 함께 발견했다. 지도는 한 변의 길이가 n인 정사각형 배열 형태로, 각 칸은 공백(" ) 또는벽(#") 두 종류로 이루어져 있다. 전체 지도는 두 장의 지도를 겹쳐서 얻을 수 있다. 각각 지도 1과 지도 2라고 하자. 지도 1 programmers.co.kr 문제 설명 - 비밀지도 네오는 평소 프로도가 비상금을 숨겨놓는 장소.. 2019. 8. 7.