본문 바로가기

전체 글846

2023.08.04 TIL Java API Application Programming Interface의 약자로 애플리케이션에 선언되어 있는 클래스와 메서드에 대한 상세한 설명이 포함된 문서 Object 클래스 자바에서는 기본적으로 아무런 상속을 받지 않으면 Object 클래스를 상속받는다. 만약 다른 클래스 상속을 받고 있으면, 여러 단계로 상속이 가능하기 때문에, 결국은 Object 클래스를 상속 받게 된다. Object 클래스에 있는 메서드를 통해 클래스의 기본적인 행동을 정의할 수 있기 때문에, 모든 클래스는 Object 클래스를 상속 받는다. clone() : 복사본 리턴 equals() : 동일성 확인 finalize() : 가바지 컬렉터에 의해 이 메서드가 호출 getClass() : 현재 Class 클래스의 객체를 .. 2023. 8. 4.
백준 1863 1863번: 스카이라인 쉬운거 문제 도시에서 태양이 질 때에 보이는 건물들의 윤곽을 스카이라인이라고 한다. 스카이라인만을 보고서 도시에 세워진 건물이 몇 채인지 알아 낼 수 있을까? 건물은 모두 직사각형 모양으로 밋밋하게 생겼다고 가정한다. 정확히 건물이 몇 개 있는지 알아내는 것은 대부분의 경우에 불가능하고, 건물이 최소한 몇 채 인지 알아내는 것은 가능해 보인다. 이를 알아내는 프로그램을 작성해 보자. 입력 첫째 줄에 n이 주어진다. (1 ≤ n ≤ 50,000) 다음 n개의 줄에는 왼쪽부터 스카이라인을 보아 갈 때 스카이라인의 고도가 바뀌는 지점의 좌표 x와 y가 주어진다. (1 ≤ x ≤ 1,000,000. 0 ≤ y ≤ 500,000) 첫 번째 지점의 x좌표는 항상 1이다. 출력 첫 줄에 최소 .. 2023. 8. 4.
백준 1092 1092번: 배 문제 지민이는 항구에서 일한다. 그리고 화물을 배에 실어야 한다. 모든 화물은 박스에 안에 넣어져 있다. 항구에는 크레인이 N대 있고, 1분에 박스를 하나씩 배에 실을 수 있다. 모든 크레인은 동시에 움직인다. 각 크레인은 무게 제한이 있다. 이 무게 제한보다 무거운 박스는 크레인으로 움직일 수 없다. 모든 박스를 배로 옮기는데 드는 시간의 최솟값을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N이 주어진다. N은 50보다 작거나 같은 자연수이다. 둘째 줄에는 각 크레인의 무게 제한이 주어진다. 이 값은 1,000,000보다 작거나 같다. 셋째 줄에는 박스의 수 M이 주어진다. M은 10,000보다 작거나 같은 자연수이다. 넷째 줄에는 각 박스의 무게가 주어진다. 이 값도 1,000,0.. 2023. 8. 3.
2023.08.02 TIL Java 패키지 java : 자바 기본 패키지 javax : 자바 확장 패키지 org : 일반적으로 오픈 소스 com : 일반적으로 회사 패키지 java.lang 패키지는 자동으로 프로그램에 포함된다. 접근 제어자 public : 누구나 접근 가능 protected : 같은 패키지 내에 있거나 상속받은 경우에만 접근 가능 default : 아무런 접근 제어자를 적지 않을 때이며, 같은 패키지 내에 있을 때만 접근 가능 private : 해당 클래스 내에서만 접근 가능 상속 상속을 하면 상위 클래스에 선언 되어 있는 public 및 protected로 선언되어 있는 모든 변수와 메서드를 내가 갖고 있는 것 처럼 사용할 수 있다. 즉, 다른 패키지에 선언된 부모 클래스의 접근 제어자가 없거나 private .. 2023. 8. 2.
백준 2212 2212번: 센서 문제 한국도로공사는 고속도로의 유비쿼터스화를 위해 고속도로 위에 N개의 센서를 설치하였다. 문제는 이 센서들이 수집한 자료들을 모으고 분석할 몇 개의 집중국을 세우는 일인데, 예산상의 문제로, 고속도로 위에 최대 K개의 집중국을 세울 수 있다고 한다. 각 집중국은 센서의 수신 가능 영역을 조절할 수 있다. 집중국의 수신 가능 영역은 고속도로 상에서 연결된 구간으로 나타나게 된다. N개의 센서가 적어도 하나의 집중국과는 통신이 가능해야 하며, 집중국의 유지비 문제로 인해 각 집중국의 수신 가능 영역의 길이의 합을 최소화해야 한다. 편의를 위해 고속도로는 평면상의 직선이라고 가정하고, 센서들은 이 직선 위의 한 기점인 원점으로부터의 정수 거리의 위치에 놓여 있다고 하자. 따라서, 각 센서의.. 2023. 8. 2.
2023.08.01 TIL Docker Docker 란? Docker는 컨테이너 기반 가상화 플랫폼으로서 개발자들이 소프트웨어를 쉽게 구축, 배포, 실행할 수 있도록 도와주는 오픈 소스 프로젝트이다. 도커는 컨테이너라고 하는 가벼운 가상 환경을 사용하여 애플리케이션과 그 종속성들을 격리된 환경에서 실행할 수 있게 해준다. 전통적인 가상화 기술과 달리, Docker는 OS 레벨에서 리소스를 공유하면서 애플리케이션과 필요한 라이브러리, 패키지 등을 컨테이너로 묶어 실행한다. 이러한 컨테이너는 휴대성과 확장성을 제공하며, 동일한 환경에서 어디서든 실행될 수 있으므로 개발, 테스트, 배포 과정에서 일관성을 유지하는데 도움이 된다. 도커를 사용하면 개발과 운영 프로세스를 효율적으로 관리할 수 있으며, 환경 간의 일관성을 유지하고 배포 시간.. 2023. 8. 1.