본문 바로가기

반응형

IT

(88)
코딩테스트 연습 - 해시 (완주하지 못한 선수) 1. 문제 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요. *문제 원본은 '문제링크' 참고 2. 학습 내용 1) HashMap을 이용한 데이터 관리 *사용 이유: Key : Value = 이름 : 출현 빈도 형태로 연결되기 때문에 HashMap을 이용하여 문제 해결하는 방법이 효율적이라 판단 2) HashMap.getOrDefault 메소드 활용 *Key로 조회되는 데이터가 있을 경우, 키에 대한 값 반환 / 없을 경우,..
코딩테스트 고득점 Kit - 정렬 (가장 큰 수) 1. 문제 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 수는 6210입니다. 0 또는 양의 정수가 담긴 배열 numbers가 매개변수로 주어질 때, 순서를 재배치하여 만들 수 있는 가장 큰 수를 문자열로 바꾸어 return 하도록 solution 함수를 작성해주세요. *문제 원본은 '문제링크' 참고 2. 학습 내용 1) Arrays.sort를 이용한 정렬 (정렬 기준에 Comparator 사용) 2) 예외 처리 적용 (Case: 가장 큰 수가 0일 때, 0 반환) 3) StringBuilder를 사용한 문..
OSI 7 계층 (Open Systems Interconnection 7 Layer) 1. OSI 7계층이란? OSI(Open Systems Interconnection) 모델은 네트워크 프로토콜과 통신 시스템을 이해하고 설계하는 데 도움이 되는 개념적인 프레임워크이다. 이 모델은 7개의 계층으로 구성되어 있으며, 각 계층은 특정한 역할을 수행하고 다른 계층과 상호 작용한다. 2. 7계층 구성요소 3-1. 상세 보기: 물리 계층(Physical Layer) 1) 정의 물리 계층(Physical Layer)은 OSI(Open Systems Interconnection) 모델에서 가장 하위에 위치하며, 컴퓨터 네트워크에서 데이터를 전송하기 위한 물리적인 하드웨어와 전송 매체를 다루는 계층이다. 이 계층은 데이터 비트(0과 1)를 전기 신호, 광 신호 또는 무선 파장과 같은 물리적인 형태로 변..
Java - 엑셀 업로드 후 DB 저장 1. 작업 환경 - Java 버전: 8.0 - spring.maven.artifact.version: 4.1.2.RELEASE - egovframework.rte.version: 3.5.0 - apachetiles.version: 3.0.5 - Tomcat: 8.0 - Tool: Eclipse IDE for Enterprise Java and Web Developers - 2023-06 - DB: oracle - Used File Strurcture: VO, Dao, Service, ServiceImpl, Controller, JSP, mybatis - used API: apache.poi, springframework.web.multipart.MultipartFile 2. 작업 내용 1) 다운로드 받은..
Java - Stream 1. 정의 자바에서 스트림(Stream)은 컬렉션, 배열 또는 I/O 자원과 같은 데이터 소스를 처리하는데 사용되는 연속적인 요소 시퀀스이다. 스트림은 데이터를 처리하는데 편리한 기능을 제공하며, 람다식과 메서드 참조를 활용하여 간결하고 가독성 있는 코드를 작성할 수 있다. 2. 특징 1) 스트림은 데이터를 저장하지 않는다. 스트림은 단지 요소의 연속적인 흐름을 나타내며, 실제 데이터는 스트림을 생성한 컬렉션이나 배열에 저장되어 있다. 이는 스트림이 더 효율적으로 대용량 데이터를 처리할 수 있게 해준다. 2) 스트림은 일회용이다. 스트림은 일회용이므로 한 번 사용한 스트림은 재사용할 수 없다. 필요한 경우에는 새로운 스트림을 생성해야 한다. 3) 스트림은 연산을 지원한다. 스트림은 중간 연산(interm..
Java - 메소드 참조와 Optional 클래스 1. 메소드 참조란? 자바 메소드 참조(Method Reference)는 자바 8부터 도입된 기능으로, 람다 표현식을 더 간결하게 표현할 수 있게 해주는 문법적인 도구이다. 메소드 참조를 사용하면 불필요한 코드를 줄이고 가독성을 향상시킬 수 있다. 메소드 참조는 주로 함수형 인터페이스(Functional Interface)와 함께 사용되며, 람다 표현식으로 실행할 메소드를 직접 지정하는 대신 해당 메소드의 참조를 전달하여 사용하는 것이다. 이는 특히 메소드가 이미 정의되어 있는 경우 유용하며, 코드의 재사용성을 높일 수 있다. 2. 메소드 참조 유형 1) 정적 메소드 참조(Static Method Reference) 클래스의 정적(static) 메소드를 참조하며, 참조 형식은 ClassName::stat..
Java - 람다식 1. 기초 지식 람다식 이전에 사용되던 “익명 클래스”에 대해 선행하며, 람다식에 대한 이해를 향상시키고자 한다. 1) 익명 클래스 (Anonymous Class) 자바에서 익명 클래스(Anonymous Class)는 이름이 없는 클래스로, 주로 인터페이스나 추상 클래스의 객체를 생성할 때 사용된다. 익명 클래스는 한 번만 사용할 목적으로 간단한 클래스를 정의하고 인스턴스화할 때 유용하다. 주로 이벤트 핸들링, 스레드 생성 등에서 활용된다. 기본 구조> 인터페이스명/클래스명 변수명 = new 인터페이스명/클래스명() { // 멤버 변수 및 메서드 구현 }; Button 클래스의 클릭 이벤트 처리를 위한 익명 클래스 사용 예시> public class Main { public static void main..
Java Collection - 2 1. 자주 사용하는 자료구조 List, Map, Set 비교 요약 (Java Collection - 1 복습) 1) List: 요소의 순서가 중요하고, 중복을 허용해야 한다면 List 순서가 있는 데이터의 컬렉션이다. 중복된 요소를 포함할 수 있다. 인덱스를 사용하여 요소에 접근할 수 있다. 일반적으로 배열 형태로 구현된다. Java에서는 ArrayList, LinkedList 등이 List 인터페이스를 구현하는 클래스이다. 2) Map: 키-값 쌍을 저장하고, 키를 기반으로 값을 검색해야 한다면 Map 키-값(key-value) 쌍의 데이터를 저장하는 컬렉션이다. 순서가 정의되어 있지 않다. 키는 중복될 수 없지만, 값은 중복될 수 있다. 키를 사용하여 값을 검색하고, 변경할 수 있다. Java에서는 ..

반응형