본문 바로가기

전체 글

(49)
[백준 10989번] 수 정렬하기 3 (Python) 문제 풀이 어떻게 풀어야할까 고민하던 중 힌트가 이미 나왔다. 카운팅 정렬을 이용하면 풀 수 있다는 것이다. 그래서 아래와 같이 풀었다. import sys # 입력받기 input = sys.stdin.readline n = int(input()) input_array = list() for _ in range(n): input_array.append(int(input())) # 카운팅 배열 선언 counting_array = [0] * (max(input_array)+1) for num in input_array: counting_array[num] += 1 # 카운팅 직전 개수 더하기 for i in range(1, len(counting_array)): counting_array[i] += coun..
[WS live-study] 8주차: 인터페이스 학습할 것 인터페이스 정의하는 방법 인터페이스 구현하는 방법 인터페이스 레퍼런스를 통해 구현체를 사용하는 방법 인터페이스 상속 인터페이스의 기본 메서드(Default Method), 자바 8 인터페이스의 static 메서드, 자바 8 인터페이스 private 메서드, 자바 9 인터페이스 (interface) 지난 포스팅에서 클래스는 상속(extends)이 1개만 가능하다고 했다. 이건 객체지향 프로그래밍에서의 큰 제약사항이다. 그래서 이 점을 해결하기 위해 인터페이스가 존재한다. 인터페이스는 이를 구현(implement)하는 클래스가 인터페이스의 타입이나 메서드를 사용할 수 있도록 제공한다. 같은 인터페이스를 구현한 클래스는 인터페이스 타입으로 호환이 가능하다. 따라서 인터페이스 타입 변수가 이를 구현한..
[WS live-study] 7주차: 패키지 패키지 키워드 패키지란? 성격에 맞는 클래스와 인터페이스들을 조직화한 네임스페이스 쉽게 말해서 우리의 컴퓨터에 있는 파일들을 공통된 특성에 따라 분류해놓은 폴더의 역할이 java에서 패키지이다. 한 프로그램에 JAVA 언어로 작성된 파일들이 수백, 수천개가 됐을 때 파일 성격에 알맞게 분류해 놓은 패키지의 역할은 중요하다. JAVA는 또한 패키지 묶음으로 자바 프로그래밍에 유용한 많은 class 라이브러리(api)를 제공한다. (예- java.util.String, java.io.File, java.net.Socket... 등) 디렉토리 안에 디렉토리를 가질 수 있는 것처럼 패키지도 마찬가지다. 특정 패키지에서 하위 패키지를 가리킬 때 점(.)으로 구분한다. 패키지 선언 패키지 선언은 다음과 같다. pa..