JAVA (개념, 알고리즘)
-
1. 두 배열 합치기 오름차순으로 정렬이 된 두 배열이 주어지면 두 배열을 오름차순으로 합쳐 출력하는 프로그램을 작성하세요. 입력 첫 번째 줄에 첫 번째 배열의 크기 N(1
Two pointers, Sliding window[효율성 : O(n^2)-->O(n)]1. 두 배열 합치기 오름차순으로 정렬이 된 두 배열이 주어지면 두 배열을 오름차순으로 합쳐 출력하는 프로그램을 작성하세요. 입력 첫 번째 줄에 첫 번째 배열의 크기 N(1
2023.01.24 -
간단한 개념 2차원 배열이 다음과 같이 주어져있다고 하자. int[][] arr = new int[3][4]; 3행 4열일 때, arr.length는 3행을 의미한다. 열의 길이를 알고 싶다면 arr[0].length를 적어주면 된다. 1. 소수 개수 뽑기 자연수 N이 입력되면 1부터 N까지의 소수의 개수를 출력하는 프로그램을 작성하세요. 만약 20이 입력되면 1부터 20까지의 소수는 2, 3, 5, 7, 11, 13, 17, 19로 총 8개입니다. 입력 첫 줄에 자연수의 개수 N(2
2. 배열간단한 개념 2차원 배열이 다음과 같이 주어져있다고 하자. int[][] arr = new int[3][4]; 3행 4열일 때, arr.length는 3행을 의미한다. 열의 길이를 알고 싶다면 arr[0].length를 적어주면 된다. 1. 소수 개수 뽑기 자연수 N이 입력되면 1부터 N까지의 소수의 개수를 출력하는 프로그램을 작성하세요. 만약 20이 입력되면 1부터 20까지의 소수는 2, 3, 5, 7, 11, 13, 17, 19로 총 8개입니다. 입력 첫 줄에 자연수의 개수 N(2
2023.01.17 -
- 문자열을 모두 대문자로 바꾸려면? str = str.toUpperCase(); - 문자(Character)를 대문자로 바꾸려면? char t = Character.toUpperCase(t); - 문자열을 배열로 만드는 법 str.toCharArray() - 향상된 for문 쓰기 for(char x : str.toCharArray()) { if (x==t) answer++; } for문에 리스트, 배열 형식을 넣어주어야 한다. - StringBuilder String 연산이 많아질 때, String에서는 계속해서 새로운 객체를 생성하면서 문자열이 변경되는데, StringBuilder를 사용하면 객체를 하나만 가지고도 문자열을 변경할 수 있다. 예 : 문자열을 뒤집고 싶을 때 String tmp = ne..
1. 문자열(String)- 문자열을 모두 대문자로 바꾸려면? str = str.toUpperCase(); - 문자(Character)를 대문자로 바꾸려면? char t = Character.toUpperCase(t); - 문자열을 배열로 만드는 법 str.toCharArray() - 향상된 for문 쓰기 for(char x : str.toCharArray()) { if (x==t) answer++; } for문에 리스트, 배열 형식을 넣어주어야 한다. - StringBuilder String 연산이 많아질 때, String에서는 계속해서 새로운 객체를 생성하면서 문자열이 변경되는데, StringBuilder를 사용하면 객체를 하나만 가지고도 문자열을 변경할 수 있다. 예 : 문자열을 뒤집고 싶을 때 String tmp = ne..
2023.01.14 -
(1) Comparator와 ComparableComparator와 Comparable은 모두 인터페이스로 컬렉션을 정렬하는데 필요한 메서드를 정의하고 있다 Comparable을 구현하고 있는 클래스들은 같은 타입의 인스턴스끼리 서로 비교할 수 있는 클래스들,주로 Integer와 같은 wrapper클래스와 String, Date, File과 같은 것들이며기본적으로 오름차순, 즉 작은 값에서부터 큰 값의 순으로 정렬되도록 구현되어 있다.그래서 Comparable을 구현한 클래스는 정렬이 가능하다는 것을 의미한다. Comperator와 Comparable의 실제 소스는 다음과 같다.public interface Comparator { int compare(Object o1, Object o2); // ..
Comparator와 Comparable(1) Comparator와 ComparableComparator와 Comparable은 모두 인터페이스로 컬렉션을 정렬하는데 필요한 메서드를 정의하고 있다 Comparable을 구현하고 있는 클래스들은 같은 타입의 인스턴스끼리 서로 비교할 수 있는 클래스들,주로 Integer와 같은 wrapper클래스와 String, Date, File과 같은 것들이며기본적으로 오름차순, 즉 작은 값에서부터 큰 값의 순으로 정렬되도록 구현되어 있다.그래서 Comparable을 구현한 클래스는 정렬이 가능하다는 것을 의미한다. Comperator와 Comparable의 실제 소스는 다음과 같다.public interface Comparator { int compare(Object o1, Object o2); // ..
2023.01.04 -
오버라이딩- 조상 클래스로부터 상속받은 메서드의 내용을 변경하는 것.- 자손 클래스 자신에 맞게 변경해야 하는 경우가 많다. (1) 오버라이딩의 조건메서드의 선언부(메서드 이름, 매개변수, 반환타입)는 조상의 것과 완전히 일치해야 한다.단, 접근 제어자와 예외는 제한된 조건 하에서만 다르게 변경할 수 있다.조건 1-> 접근 제어자는 조상 클래스의 메서드보다 좁은 범위로 변경할 수 없다.- 만일 조상 클래스에 정의된 메서드의 접근 제어자가 protected라면, 이를 오버라이딩하는 자손 클래스의 메서드는 접근 제어자가 protected나 public이어야 한다. 대부분의 경우 같은 범위의 접근 제어자를 사용한다. 조건 2-> 조상 클래스의 메서드보다 많은 수의 예외를 선언할 수 없다. 정리 1)조상 클래..
오버라이딩과 오버로딩오버라이딩- 조상 클래스로부터 상속받은 메서드의 내용을 변경하는 것.- 자손 클래스 자신에 맞게 변경해야 하는 경우가 많다. (1) 오버라이딩의 조건메서드의 선언부(메서드 이름, 매개변수, 반환타입)는 조상의 것과 완전히 일치해야 한다.단, 접근 제어자와 예외는 제한된 조건 하에서만 다르게 변경할 수 있다.조건 1-> 접근 제어자는 조상 클래스의 메서드보다 좁은 범위로 변경할 수 없다.- 만일 조상 클래스에 정의된 메서드의 접근 제어자가 protected라면, 이를 오버라이딩하는 자손 클래스의 메서드는 접근 제어자가 protected나 public이어야 한다. 대부분의 경우 같은 범위의 접근 제어자를 사용한다. 조건 2-> 조상 클래스의 메서드보다 많은 수의 예외를 선언할 수 없다. 정리 1)조상 클래..
2022.12.28 -
상속 관계 상속이란 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것이다.상속을 통해서 클래스를 작성하다 보면 보다 적은 양의 코드로 새로운 클래스를 작성할 수 있고 코드를 공통적으로 관리할 수 있기 때문에 코드의 추가 및 변경이 매우 용이하다. 이러한 특징은 코드의 재사용성을 높이고 코드의 중복을 제거하여 프로그램의 생산성과 유지보수에 크게 기여한다. 방법은 아래와 같다. class Parent { }class Child extends Parent { // ...}만일 Parent 클래스에 age라는 정수형 변수를 멤버변수로 추가하면, 자손 클래스는 조상의 멤버를 모두 상속받기 때문에, Child 클래스는 자동적으로 age라는 멤버변수가 추가된 것과 같은 효과를 얻는다.class Parent { ..
상속과 포함관계상속 관계 상속이란 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것이다.상속을 통해서 클래스를 작성하다 보면 보다 적은 양의 코드로 새로운 클래스를 작성할 수 있고 코드를 공통적으로 관리할 수 있기 때문에 코드의 추가 및 변경이 매우 용이하다. 이러한 특징은 코드의 재사용성을 높이고 코드의 중복을 제거하여 프로그램의 생산성과 유지보수에 크게 기여한다. 방법은 아래와 같다. class Parent { }class Child extends Parent { // ...}만일 Parent 클래스에 age라는 정수형 변수를 멤버변수로 추가하면, 자손 클래스는 조상의 멤버를 모두 상속받기 때문에, Child 클래스는 자동적으로 age라는 멤버변수가 추가된 것과 같은 효과를 얻는다.class Parent { ..
2022.12.28