반응형

coding 26

회고 15일차

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

친구인가?

이 코드는 재귀를 사용하여 서로의 상관 관계를 확인하면서 서로 연관이 되어있다면 배열을 통해서 서로에게 연관이 가는 곳의 인댁스로 옮겨주는 코드이다. import java.util.ArrayList; import java.util.Arrays; import java.util.PriorityQueue; import java.util.Scanner; public class Main { static int dis[]; public static void Union(int a, int b) { int da = Find(a); int db = Find(b); if(da!=db) dis[da]=db; } private static int Find(int a) { if(dis[a]==a)return a; else re..

코테 2023.03.06

회고 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) 현대 자동차, 기아 자동차등 속성이 비슷한 상황이라면 중복코드를 줄이기 위해 위와 같은 ..

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

큰 수 A+B

https://www.acmicpc.net/problem/10757 10757번: 큰 수 A+B 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 생각보다 간단한 문제이지만 int범위를 생각하면 쉽지 않은 문제이다. 처음에 double형으로 바꾸고 casting을 통해 출력하려 했지만 double과 long을 뛰어넘는 숫자라 java math.BigInteger;를 import를 해 문제를 해결하였다. BigInteger란 System.out.println("덧셈(+) :" +bigNumber1.add(bigNumber2)); System.out.println("뺄셈(-) :" +bigNumber1.subtract(bigNumber2)); Syste..

코테/백준 2023.02.24
반응형