728x90
728x90
입국심사 - 프로그래머스 LV3 JAVA
코딩테스트/프로그래머스2022. 12. 17. 13:09입국심사 - 프로그래머스 LV3 JAVA

문제 설명 n명이 입국심사를 위해 줄을 서서 기다리고 있습니다. 각 입국심사대에 있는 심사관마다 심사하는데 걸리는 시간은 다릅니다. 처음에 모든 심사대는 비어있습니다. 한 심사대에서는 동시에 한 명만 심사를 할 수 있습니다. 가장 앞에 서 있는 사람은 비어 있는 심사대로 가서 심사를 받을 수 있습니다. 하지만 더 빨리 끝나는 심사대가 있으면 기다렸다가 그곳으로 가서 심사를 받을 수도 있습니다. 모든 사람이 심사를 받는데 걸리는 시간을 최소로 하고 싶습니다. 입국심사를 기다리는 사람 수 n, 각 심사관이 한 명을 심사하는데 걸리는 시간이 담긴 배열 times가 매개변수로 주어질 때, 모든 사람이 심사를 받는데 걸리는 시간의 최솟값을 return 하도록 solution 함수를 작성해주세요. 제한사항 입국심사..

코딩테스트/프로그래머스2022. 12. 16. 22:46숫자 비교하기 - 프로그래머스 LV0 JAVA

문제 설명 정수 num1과 num2가 매개변수로 주어집니다. 두 수가 같으면 1 다르면 -1을 return하도록 solution 함수를 완성해주세요 제한사항 0 ≤ num1,num2 ≤ 10,000 입출력 예 num1 num2 result 2 3 -1 11 11 1 7 99 -1 // 삼항연산자 활용을 잘하자 class Solution { public int solution(int num1, int num2) { int answer = (num1 == num2) ? 1 : -1; return answer; } }

Java2022. 12. 11. 11:59명품 자바 프로그래밍 - 6장 Open Challange 영문자 히스토그램

히스토그램 = 문장들중에서 해당 알파벳이 얼마나 나왔는지를 보여주는 지표 텍스트를 키보드로 입력받아 알파벳이 아닌 문자는 제외하고 영문자 히스토그램을 만들어보자. 대문자와 소문자는 모두 같은 것으로 간주하고, 세미콜론(;)만 있는 라인을 만나면 입력의 끝으로 해석한다. --출력-- 영문 텍스트를 입력하고 세미콜론을 입력하세요. It's now or never, come hold me tight Kiss me my darling, be mine tonight Tomorrow will be too late It's now or never, my love won't wait When I first saw you, with your smile so tender My heart was captured, my so..

Java2022. 12. 11. 08:31Map

Map Key와 Value값의 쌍(K, V)으로 저장 (Key값은 중복저장이 불가능하다) → 특정 Key로 value를 얻어낸다 동일한 Key로 다른 데이터를 저장 시 기존 데이터를 덮는다 요소의 저장 순서를 유지하지 않음 HashMap Key와 Value를 묶어 하나의 Entry로 저장한다 많은 양의 데이터를 검색하는 데 속도가 빠르다 null이 가능하다 데이터의 크기가 예상 범위내에 있는 경우 ( 크기지정 ), 삽입 삭제가 빈번한 경우 사용 class ExamMain { public static void main(String[] args) { Map map = new HashMap(); // key-value 삽입 map.put("a", 11); map.put("b", 22); map.put("c",..

Java2022. 12. 11. 07:51Set

Set 중복 저장 불가능 순서가 없다 (인덱스로 관리하지 않음) → 데이터 검색을 위해 iterator메서드로 iterator(반복자)를 생성하고 데이터를 가져와야 한다 HashSet 데이터 크기가 어느정도 예상되면서 삽입, 삭제가 빈번할 경우 사용하는 것이 좋다 객체를 넣으면 해당 객체의 hashcode 값을 사용하여 버킷을 찾고 해당 위치에 요소가 있는지 확인한다. 같은 객체라 판단되면 저장하지 않는다 서로 다른 객체여도 같은 hashcode값을 가질 수 있다. → 해당 버킷에 이미 값이 있다면 equals메서드를 통해 비교작업을 거친다. equals=false이면 LinkedList의 형태로 버킷에 값을 추가한다 class ExamMain { public static void main(String[..

Java2022. 12. 10. 17:15List

대표적인 클래스 종류 ArrayList LinkedList Vector Stack ArrayList 가장 많이 사용되는 컬렉션 클래스 중 하나 가변배열이며 JDK 1.2부터 제공됨 배열 공간이 가득차면 새로운 배열을 만들어 기존의 내용을 복사 (복사하는 과정에서 지연이 발생하고, 데이터가 많아질수록 카피에 대한 지연시간 증가) 중간 데이터가 삭제되면 그 앞 인덱스에 있는 데이터들이 한 칸씩 당겨져온다 특정 데이터에 빠르게 접근할 수 있다 데이터의 양이 일관적이고 삽입 및 삭제가 거의 없는경우, 접근속도가 중요할 때 사용한다 (가변배열이지만 거의 변하게 하지 않을 때 사용하는 것이 좋다) class ExamMain { public static void main(String[] args) { // 생성은 가..

Java2022. 12. 10. 16:07컬렉션 프레임워크 collection framework

collection framework 다수의 데이터를 쉽고 효과적으로 처리할 수 있는 표준화, 정형화된 방법을 제공하는 클래스의 집합 객체들을 효율적으로 추가, 삭제, 검색할 수 있도록 제공되는 라이브러리 데이터를 저장하는 자료구조와 데이터를 처리하는 알고리즘을 구조화하여 클래스로 구현 해 놓은것 인터페이스를 사용하여 구현된다 컬렉션 프레임워크를 구성하는 모든 클래스가 제네릭으로 표현되어 있다 ※ 배열의 문제점 : 크기가 정적이면서 불변이다 (객체 삭제 시 해당 인덱스가 공백) 주요 인터페이스 인터페이스 설명 클래스 List 순서를 유지하고 저장 중복 저장 가능 (1번 인덱스에 새 값을 넣으면 기존 값은 2번으로 밀려난다) ArrayList, LinkedList, Stack Queue, Vector Se..

제네릭(Generic)
Java2022. 12. 10. 14:11제네릭(Generic)

제네릭 Generic 타입을 파라미터화 하여 실행시에 구체적으로 해당하는 타입으로 결정 → 특정(Specific)타입을 미리 지정해주는 것이 아닌 필요에 의해 지정할 수 있도록 하는 일반(Generic)타입 장점 잘못된 타입이 들어올 수 있는 것을 컴파일 단계에서 방지 가능 따로 타입을 체크하고 변환할 필요가 없다 (캐스팅 최소화로 인한 관리수월) 타입체크를 강력하게 하여 잘못된 데이터를 일반적인 원시, 참조 타입보다 안정성 확보에 좋음 코드의 재사용성이 높아짐 사용방법 타입 설명 Type Element Key Value Number 반드시 한 글자일 필요도 없고 위의 표와 일치할 필요도 없다. Just 암묵적 규칙 선언 파라미터로 명시할 수 있는 것은 참조타입이다 사용자가 정의한 클래스도 타입으로 올 ..

728x90
728x90
image