반응형

java 53

회고 15일차

Collectioin 객체에 대해서 O X퀴즈로 나타내 보았다. 1. 모든 컬렉션 클래스들에는 기본 타입도 지정할 수 있다.(X)레퍼 객체만 사용 가능하다.  2. List 인터페이스를 구현한 컬랙션 클래스들은 데이터의 저장순서를 유지하며, 중복 저장을 허용한다.(0)-> 중복 저장을 허용하지 않는 것은 SET이다. 3. ArrayList는 배열과 달리 크기를 초과하여 요소를 추가하면 자동으로 크기가 늘어난다.(0)-> 기본 사이즈를 10으로 잡고 크기가 커지면 그에 맞춰서 확장한다. 4. ArrayList는 요소를 검색할 때 좋은 성능을 보이지만, 순차적으로 요소를 추가하거나 삭제할 때에는 그렇지 않다.(X)-> ArayList는 요소를 순차적으로 요소를 추가하거나 삭제할 때 빠르다는 이점을 가진다. ..

회고 14일

오늘 배운 키워드는 제너릭 클래스, 예외처리, Collection 이였다. 간단하게 중요한 부분만 설명하자면 이렇다.보통 생성클래스 변수는Car car = new Car(); 이렇게 생성하지만, 제너릭 클래스는 클래스 변수 = new 클래스();이렇게 생성한다. 내용을 보자면 이렇다.제너릭 클래스는 TYPE을 일반화 시킨것이다. Class Basket로 생성을 하고, key와 value로도 나눌 수 있다.클래스 변수는 공유변수인 데 제너릭을 쓰게되면 인스턴스마다 달라지기 때문에 불가능하다. Class Basket private T king;~~~~ 제너릭 메서드는 제너릭 클래스와 별계로 메서드 안에서 파라메터나 반환타입을 제너릭으로 줄 수 있다.public start(T king){ }여러가지 타입이..

회고 13일차

객체지향의 가장 중요한 원리인 추상화 다형성 상속 캡슐화에 대해 모두배우고 이 원리를 모두 적용해 간단한 프로그램을 제작했다.여기서 깨달은 아주 중요한 원칙 3가지를 확인하면서 설명하겠다. 1. 한 클래스는 하나의 역할만 하게 끔 설계한다.ex) 장바구니 클래스는 주문의 역할을 맞게 할 필요가없다. 2. 한 클래스가 다른 클래스와 관계를 맺고 있을 때 그 다른 클래스의 직접적인 정보에 대해 알게 할 필요가 없다.ex) 자동차와 바퀴가 연관을 맺을 때 바퀴가 현대 바퀴인지 기아 바퀴인지 자동차 클래스가 알게끔 하면 안된다. 3. 공통적인 특성이나 속성을 모아 추상 클래스나 인터페이스로 모아 구현, 상속받게 한다.ex) 현대 자동차, 기아 자동차등 속성이 비슷한 상황이라면 중복코드를 줄이기 위해 위와 같은 ..

결혼식

이 문제도 마찬가지로 도착하는 시간을 기준으로 나눈 후 떠나는 시간과 도착시간이 같을경우 정렬을 할때 떠나는 시간을 더 우선순위로 줘서 들어오면 cnt++ 나가면 cnt --를 통해 풀면된다. import java.io.IOException; import java.math.BigInteger; import java.util.*; class Time implements Comparable{ public int time; public char state; Time(int time,char state){ this.time = time; this.state=state; } @Override public int compareTo(Time o) { if(this.time==o.time)return this.stat..

코테 2023.03.01

회고 12일차

오늘은 상속, 추상화, 캡슐화, 다형성을 모두 배웠고, 그것을 한반에 적용한 카페 키오스크 프로그래밍을 했다. 일단 개념만 정리하면 이렇다.추상화는: 공통점을 뽑아 내는 것이고,상속은 다중상속이 안되고 단일 상속만 가능하다.하지만 인터페이슨 다중 구현이 가능하다. 추상메서드인터페이스일반 클래스(o)일반 메서드(x)단일 상속다중 구현(o)표로 나타내자면 이렇다.다형성이란 -> 같은 참조변수를 사용할 때 다양한 결과를 가지는 것을 의미하고,상위 클래스 타입의 참조변수를 통해서 하위 클래스의 객체를 참조할 수 있도록 허용한 것이다. ex) GirlFriend friedn = new GirlFriend();Friend friend = new GirlFriend();즉 위에 클래스가 Friedn에게 상속당해있다면..

DP-회의실 배정

이번에도 이중 배열의 정렬의 문제였다. 저번 문제와 동일하게 이번에는 끝나는 시간을 기준으로 정렬을 한후 바로바로 스케줄링 할 수 있게 처리해서 문제를 해결했다. 아래 그림을 참고하면 이해가 편할 것이다. import java.io.IOException; import java.math.BigInteger; import java.util.*; public class java { public static void main(String[] args) throws IOException { Scanner sc = new Scanner(System.in); int arr[][] = new int[sc.nextInt()][2]; for(int i=0;i=min){ min=arr[i][1]; count++; } } S..

코테 2023.02.28

DP-씨름 선수

입력 예시: 5 -->사람 수 172 67 --> 키 몸무게 183 65 180 70 170 72 181 60 import java.util.*; public class java { public static void main(String[] args) throws IOException { Scanner sc = new Scanner(System.in); int arr[][] = new int[sc.nextInt()][2]; for(int i=0;i=0;i--){ if(arr[i][1]>max){ max=arr[i][1]; count++; } } System.out.println(count); } } 처음에 이중 배열과 같은 방법을 푸려고 했더니 .. 시간초과 더 생산적인 방법을 했더니 정답은 정렬이였다...

코테 2023.02.27
반응형