반응형

java 60

[Java] Coding Test (Pick two and add them)

문제 정수 배열 numbers에서 서로 다른 인덱스의 두 수를 더해 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하는 solution 함수를 만드시오. ▶ 입출력 예 numbers result [2, 1, 3, 4, 1] [2, 3, 4, 5, 6, 7] [5, 0, 2, 7] [2, 5, 7, 9, 12] 해법 본 문제는 중복이 제거되는 HashSet과 정렬이 가능한 ArrayList를 이용하여 구현합니다. 1. 서로 다른 인덱스 끼리 더하여 HashSet에 저장한다. (중복제거) 2. ArrayList에 HashSet를 저장한다. 3. ArrayList를 정렬한다. import java.util.*; public static int[] solution(int[] numbers) { ..

JAVA 2022.08.08

[Java] Coding Test (Lotto)

문제 로또는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또 순위를 정하는 방식입니다. 순위 당첨 내용 1 6개 번호 일치 2 5개 번호 일치 3 4개 번호 일치 4 3개 번호 일치 5 2개 번호 일치 6 그 외 로또의 일부 번호를 알수 없을 때 당점 가능한 최고 순위와 최저 순위를 반환하는 method를 구현하시오. 알수 없는 번호는 0이다. 순서와 상관없이 구매한 로또에 당첨 번호와 일치하는 번호가 있으면 맞힌걸로 인정한다. lottos는 길이가 6인 정수 배열이다. lottos의 원소는 0이상 45이하이다. lottos에 0을 제외한 다른 숫자들은 2개 이상 담겨있지 않는다. win_nums는 길이가 6인 정수 배열이다. win_nums의 모든 원소는 1이상 45이..

JAVA 2022.08.04

[Java] Annotation

Annotation 주석처럼 프로래밍 언어에 영향을 미치지 않으며, 유용한 정보를 제공하는 메모다. 프로그램의 소스코드 안에 다른 프로그램을 위한 정보를 미리 약속된 형식으로 포함시킨다. ▷ 예시 @Test // 이 메서드가 테스트 대상임을 테스트 프로그램에게 알린다. public void method(){ ... } ▷ 표준 애너테이션 자바에서 기본적으로 제공하는 표준 에너테이션 에너테이션 설명 @Override 컴파일러에게 메서드를 오버라이딩하는 것이라고 알린다. @Deprecated 앞으로 사용하지 않을 것을 권장하는 대상에 붙인다. @SuppressWarnings 컴파일러의 특정 경고메세지가 나타나지 않게 해준다. @SafeVarags 지네릭스 타입의 가변인자에게 사용한다. (JDK 1.7) @F..

JAVA 2022.08.04

[Java] enum(열거형)

enum(열거형) 관련된 상수들을 같이 묶어 놓은것 Java는 타입에 안전한 열거형을 제공한다. ▷ 아래의 코드는 상수가 많아 불편함이 발생한다. public class Card { static final int CLOVER = 0; static final int HEART = 1; static final int DIAMOND = 2; static final int SPADE = 3; static final int TWO = 0; static final int THREE = 1; static final int FOUR = 2; final int kind; final int num; } ▷ 위와 같은 상황에 열거형을 이용하여 간단히 상수를 선언할 수 있다. public class Card{ // 0 1 2..

JAVA 2022.08.03

[Java] Generic Programming

Data Type이나 Algorithms을 이용하여 재활용성, 유연성을 극대화 하기 위한 Programming technique OOP나 Structured Programming이라는 paradigm을 벗어나 "단순하고 빠르게" 구현하는것이 목표. * DataType : Size, Rule * Generics : 컴파일시 타입을 체크해 주는 기능(compile-time type check) * 실행시 에러를 컴파일 에러로 = generics public class smple { public static void main(String[] args) { ArrayList list = new ArrayList(); // Type Check가 강화됨 // JDK1.5 부터 Generics가 도입된 이후 문법. ..

JAVA 2022.08.01

[Java] Collections Framework 예제

▶ 예제1 - ArrayList에 6개의 int data를 넣고 HashSet, TreeSet, Stack에 차례대로 6개의 데이터를 넣은뒤 stack이 비어있지 않을 때 까지 pop() 시켜 출력하시오. public class ex1 { public static void main(String[] args) { ArrayList list = new ArrayList(); //ArrayList : 중복O, 순서 저장 유지 list.add(3); list.add(6); list.add(2); list.add(2); list.add(2); list.add(7); HashSet set = new HashSet(list); //HashSet : 순서X, 중복X, 제거유리 // 3, 6, 2, 7 TreeSet t..

JAVA 2022.07.28

[Java] Collections Framework - Comparator & Comparable

Comparator & Comparable 객제 정렬에 필요한 method(정렬기준 제공)를 정의한 Interface. compare()와 comparTo()는 두 객체의 비교결과를 반환하도록 작성. Comparable 기본 정렬기준을 구현하는데 사용. Comparator 기본 정렬기준 외에 다른 기준으로 정렬하고자 할 때 사용. * 정렬 sort() - 두 대상을 비교한 후 자리를 바꾸는 로직을 반복한다. ▶ 구현 Arrays.sort로 String[]을 정렬하는 예제. String class 내부에 Comparable이 구현되어 있다. public class smple { public static void main(String[] args) { String[] strArr = {"cat", "Dog..

JAVA 2022.07.28

[Java] Collections Framework - Collections method

Collections Collections를 위한 method(static)를 제공한다. Collections 채우기, 복사, 정렬, 검색 - fill(), copy(), sort() binarySearch() 등 Collections의 동기화 - synchronizedXXX() static List synchronizedList(List list) static Set synchronizedSet(set s) ... 변경 불가(readOnly) Collections 만들기 - unmodifialbeXXX() static Collection unmodifiableCollection(Collection c) static List unmodifiableList(List list) ... singleton Co..

JAVA 2022.07.26

[Java] Collections Framework - Map

Map Interface Map Interface K : Key, data의 식별자 V : Value, 실제 data 즉 Key - Value의 쌍으로 data를 유지하기 위한 Interface iterable을 상속하지 않음. Iterator를 사용하지 못함 ▶ HashMap Map Interface를 구현한 대표적인 Collection Class Hash Algorithm 기반의 분류기능을 가진 Map구조. 분류 Unique : 보안에서 사용 ▶ LinkedHashMap 순서가 있다. ▶ TreeMap 범위 검색, 정렬에 유리한 Colleciton class 이진탐색트리 구조 HashMap보다 데이터 추가, 삭제에 시간이 더 걸림 ▶ 메서드 메서드 설명 void clear() Map의 모든 객체를 삭..

JAVA 2022.07.26
반응형