loading
본문 바로가기

자바87

[ BASIC MATH ] 01. 집합 ( set ) _ with java [ BASIC MATH ] 01. 집합 ( set ) _ with java 📚 Table of Contents 개념 [ BASIC MATH ] 01. 집합 ( set ) [ BASIC MATH ] 01. 집합 ( set ) 📚 Table of Contents 집합 ( set ) 어떤 명확한 조건을 만족시키는 서로 다른 대상들의 모임 표현 방법 원소나열법 집합의 원소를 나열하여 집합을 표현하는 방법이다. 중괄 leungnyeok.tistory.com Java를 이용하여 집합 ( set )을 간단하게 구현한다. Hashset을 이용하여 구현 [ Java ] HashSet 이란? [ Java ] HashSet 이란? 📚 Table of Contents HashSet은 Set 인터페이스에서 지원하는 구현 클래스.. 2023. 11. 22.
[ Java ] HashSet 이란? [ Java ] HashSet 이란? 📚 Table of Contents HashSet은 Set 인터페이스에서 지원하는 구현 클래스이다. 때문에 Set의 성질을 그대로 상속받는 다는 것이 특징이다. HashSet 특징 중복 허용 안함: 같은 요소를 중복해서 추가할 수 없다. 순서 보장 안함: HashSet은 요소들의 순서가 없다. 널(null) 값 허용: HashSet에는 하나의 널 값만 저장할 수 있다. HashSet 구현 및 주요 메서드 HashSet 생성 // 타입을 지정 가능 HashSet hsset = new HashSet(); // 타입을 생략하여 사용 가능 -> 빈 HashSet생성 시 사용 HashSet hsset1 = new HashSet(); // 초기 용량(Capacity) 설정 Ha.. 2023. 11. 22.
[ Backjoon - 10818번 ] 최소, 최대 ( java ) [ Backjoon - 10818번 ] 최소, 최대 ( java ) 10818번: 최소, 최대 첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다. www.acmicpc.net 📚 Table of Contents 문제 N개의 정수가 주어진다. 이때, 최솟값과 최댓값을 구하는 프로그램을 작성하시오. 입력 출력 예제 문제 풀이 문제 접근 ( 알고리즘 ) 입력 첫째 줄 : 정수의 개수 N ( 1 ≤ N ≤ 1,000,000 ) 둘째 줄 : N개의 정수, 공백으로 구분 ( -1,000,000 ≤ num ≤ 1,000,000 ) 출력 주어진 정.. 2023. 11. 17.
[ Backjoon - 1021번 ] 회전하는 큐 ( with java ) [ Backjoon - 1021번 ] 회전하는 큐 ( with java ) 1021번: 회전하는 큐 첫째 줄에 큐의 크기 N과 뽑아내려고 하는 수의 개수 M이 주어진다. N은 50보다 작거나 같은 자연수이고, M은 N보다 작거나 같은 자연수이다. 둘째 줄에는 지민이가 뽑아내려고 하는 수의 위치가 www.acmicpc.net 📚 Table of Contents 문제 지민이는 N개의 원소를 포함하고 있는 양방향 순환 큐를 가지고 있다. 지민이는 이 큐에서 몇 개의 원소를 뽑아내려고 한다. 지민이는 이 큐에서 다음과 같은 3가지 연산을 수행할 수 있다. 첫 번째 원소를 뽑아낸다. 이 연산을 수행하면, 원래 큐의 원소가 a1, ..., ak이었던 것이 a2, ..., ak와 같이 된다. 왼쪽으로 한 칸 이동시킨.. 2023. 11. 17.
[ Java ] 13. 예외 처리 ( exception handling ) [Java] 13. 예외 처리 ( exception handling ) 📚 Table of Contents 01. 오류 종류 논리 에러 (Logic Error) 논리적 에러는 이른바 '버그'라고 생각하면 된다. 프로그램이 실행하고 작동하는 데는 아무런 문제가 없는 오류이지만, 결과가 예상과 달라 사용자가 의도한 작업을 수행하지 못하게 되어 서비스 이용에 지장이 생길 수 있다. 논리적 오류는 컴퓨터 입장에서는 프로그램이 멀쩡히 돌아가는 것이니 에러 메시지를 알려주지 않는다. 따라서 개발자는 프로그램의 전반적인 코드와 알고리즘을 체크 필요가 있다. 컴파일 에러 (Complillation Error) 컴파일 에러는 컴파일 단계에서 오류 발견하면 컴파일러가 에러 메시지 출력해 주는 것을 말한다. 컴파일 에러 발.. 2023. 11. 9.
[ Java ] 12. 자바 입출력 [Java] 12. 자바 입출력 📚 Table of Contents 01. 자바 입출력과 스트림 스트림이란? 자바에서 모든 입출력은 스트림(Stream)을 통해 이루어진다. 입출력 장치는 매우 다양하여 장치에 따라 입출력 부분을 일일이 다르게 구현하면 프로그램 호환성이 떨어질 수 밖에 없다. 이런 문제를 해결하기 위해 자바는 입출력 장치와 무관하고 일관성 있게 프로그램을 구현할 수 있도록 일종의 가상 통로인 스트림을 제공한다. 자료를 읽어 들이려는 소스(source)와 자료를 쓰려는 대상(target)에 따라 각각 다른 스트림 클래스를 제공한다. 입, 출력 스트림 어떤 대상으로부터 자료를 읽어 들일 때 사용하는 스트림이 입력 스트림이다. 편집 화면에 사용자가 쓴 글을 파일에 저장할 때는 출력 스트림을 사.. 2023. 11. 9.
[ Java ] 11. 내부 클래스 ( inner class ) [ Java ] 11. 내부 클래스 ( inner class ) 📚 Table of Contents 01. 내부 클래스란 내부 클래스(inner class)란 하나의 클래스 내부에 선언된 또 다른 클래스를 의미한다. 내부에 정의된다는 점을 제외하고는 일반적인 클래스와 다르지 않다. 우리가 어느 클래스에 변수나 상수가 필요하다면 클래스 멤버로서 클래스 내에서 선언하여 사용해 왔듯이, 선언 주체를 변수에서 클래스로 바꾼다면 그것이 내부 클래스인 것이다. 이처럼 내부 클래스는 보통 두 클래스가 서로 긴밀한 관계가 있거나, 하나의 클래스 또는 메서드에서만 사용되는 클래스일 때 이용되는 기법이다. class Outer { // 외부 클래스 ... class Inner { // 내부 클래스 ... } ... } 내.. 2023. 11. 9.
[ Java ] 10. 인터페이스 ( interface ) [ Java ] 10. 인터페이스 ( interface ) 📚 Table of Contents 01. 인터페이스 인터페이스도 추상 클래스와 비슷하게 다른 클래스를 작성하는데 도움을 주는 목적으로 작성한다. 다만 인터페이스는 추상 클래스보다 추상화 정도가 높아 추상 클래스와 다르게 구현부가 있는 일반 메서드, 일반 변수 멤버 등을 가질 수 없다. 즉, 인터페이스는 구현된 게 아무것도 없는 기본 설계도라고 할 수 있다. 인터페이스 또한 인스턴스를 생성할 수 없다. // 인터페이스 선언 접근제어자 interface 인터페이스이름 { public static final 타입 상수이름 = 값; ... public abstract 메소드이름(매개변수목록); ... } // 인터페이스 구현 class 클래스이름 im.. 2023. 11. 9.
[ Java ] 09. 추상 클래스 ( abstract class ) [ Java ] 09. 추상 클래스 ( abstract class ) 📚 Table of Contents 01. 추상 클래스 (abstract class) 추상 클래스(Abstract Class)는 추상 메서드를 선언해 놓고 상속을 통해 자식 클래스에서 메서드를 완성하도록 유도하는 클래스이다. 이러한 특성 탓에 미완성 설계도라고 표현하기도 한다. 실체클래스의 공통적인 부분( 변수, 메서드 )을 추출해서 선언한 클래스이다. 실체가 없고 구체적이지 않기 때문에 추상클래스는 객체를 생성할 수 없다. 추상클래스와 실체클래스는 상속관계이다. abstract class 클래스이름 { ... abstract 반환타입 메소드이름(); ... } 추상 클래스는 추상 메서드를 가지지 않아도 괜찮다. 다만, 추상 메서드를 .. 2023. 11. 9.
[ Java ] 08. 다형성 ( Polymorphism ) [ Java ] 08. 다형성 ( Polymorphism ) 📚 Table of Contents 01. 다형성 ( Polymorphism ) 다형성이란 하나의 객체가 여러 가지 형태를 가질 수 있는 것을 의미한다. 자바에서 다형성은 한 타입의 참조 변수를 통해 여러 타입의 객체를 참조할 수 있도록 하는 것이다. 즉, 상위 클래스 타입의 참조 변수를 통해서 하위 클래스의 객체를 참조할 수 있도록 허용하여 상위 클래스가 동일한 메시지로 하위 클래스들이 서로 다른 동작을 할 수 있도록 한다. 다형성을 활용하면, 부모 클래스가 자식 클래스의 동작 방식을 알 수 없어도 오버라이딩을 통해 자식 클래스에 접근할 수 있다. 다형성의 장점 유지보수 : 여러 객체를 하나의 타입으로 관리할 수 있어 유지보수가 용이하다. 재.. 2023. 11. 9.