호텔 방 배정 (프로그래머스) JAVA
·
카테고리 없음
https://school.programmers.co.kr/learn/courses/30/lessons/64063?language=java 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 호텔에서 방 배정을 해줄 때, 4가지 조건에 맞게 방 배정을 해줍니다. 예를 들어 1,3,4는 배정된 방이 없으므로 자신이 원하는 방에 배정이 됩니다. 다음 1은 1이 이미 배정되었으므로 그보다 큰 2에 3도 배정 안 된 방중 3보다 큰 5, 다음은 6이 배정 받는 형식입니다. 문제에 대한 아이디어 k수가 10^12이므로 배열로 만들면 안됩니다. 그러므로 Map..
인터페이스에 대해(2)
·
BackEnd/JAVA 공부
다중 인터페이스 구현 구현 객체는 여러 개의 인터페이스를 implements 할 수 있습니다. 구현 객체가 인터페이스 A와 인터페이스 B를 구현하고 있다면, 각각의 인터페이스를 통해 구현 객체를 사용할 수 있습니다. public class 구현클래스명 implements 인터페이스A, 인터페이스B { // 모든 추상 메소드 재정의 } 인터페이스A 변수 = new 구현클래스명(...); 인터페이스B 변수 = new 구현클래스명(...); 이 때, 모든 추상 메소드는 구현 클래스에서 정의를 해야합니다. 인터페이스 상속 인터페이스도 다른 인터페이스를 상속할 수 있으며, 클래스와 달리 다중 상속을 허용합니다. public interface 자식인터페이스 extends 부모인터페이스1, 부모인터페이스2 { .....
인터페이스에 대해(1)
·
BackEnd/JAVA 공부
인터페이스란? 인터페이스(Interface)는 객체 지향 프로그래밍에서 사용되는 중요한 개념으로, 클래스와 마찬가지로 데이터와 메소드를 정의하지만, 구현된 내용이 없는 추상적인 틀을 제공합니다. 인터페이스는 다른 클래스들이 구현해야 할 메소드들의 목록을 정의하며, 클래스 간의 계약(Contract)을 정의하는 데 사용됩니다. 즉, 인터페이스는 사전적인 의미로 두 장치를 연결하는 접속기를 말합니다. 인터페이스는 무엇이고 인터페이스르 왜 사용하는지 쉽게 이해하기 위해 이것이 자바다 책에서의 예시를 가져왔습니다. 객체 A가 인터페이스의 메소드를 호출하면, 인터페이스는 객체 B의 메소드를 호출하고 그 결과를 받아 객체 A로 전달해줍니다. 이렇게 중간에 인터페이스를 거치는 이유는 객체가 교체될때를 대비해서 입니다..
방의 개수 (프로그래머스) JAVA
·
BackEnd/알고리즘 공부
https://school.programmers.co.kr/learn/courses/30/lessons/49190 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 입력으로는 방향이 주어진다. 이 방향으로 움직였을 때, 방이 생기는지 확인하면 됩니다. 예시로 살펴보면 주어진 방향대로 움직이면 삼각형 1개, 큰 사각형1개, 평행사변형 1개가 생깁니다. 문제에 대한 아이디어 이 문제는 프로그래머스 코딩 테스트 문제 풀이 전략에서 나온 문제입니다. 간선을 지나갔는지 유무를 확인하는 문제를 어떻게 풀어야 할까 고민하고 있었는데 책에 이 문제가 있어 책의 ..
주식 가격 (프로그래머스) JAVA
·
BackEnd/알고리즘 공부
https://school.programmers.co.kr/learn/courses/30/lessons/42584# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 문제 설명이 약간 애매합니다. 1초에 가격에서 앞으로 5초 동안 떨어지지 않으므로 4입니다 2초 시점에 2의 가격은 앞으로 2보다 떨어진 가격이 없으므로 3입니다. 3초 시점에 3의 가격은 바로 1초 후에 떨어지므로 1입니다. 4초 시점은 1초 후까지 가격이 떨어지지 않습니다. 문제에 대한 아이디어 제일 처음 생각은 뒤에서 부터 값을 추가해 그 때 제일 낮은 숫자의 인덱스를 가지고 있..
추상 클래스와 봉인된 클래스
·
BackEnd/JAVA 공부
추상 클래스 추상 클래스(Abstract Class)는 객체 지향 프로그래밍에서 사용되는 중요한 개념으로, 완전히 구현되지 않은 메소드를 가질 수 있는 클래스입니다. 추상 클래스는 직접적으로 객체를 생성할 수는 없지만, 이를 상속받은 하위 클래스에서 추상 메소드를 구현하여 사용할 수 있습니다. 추상 클래스는 클래스 간의 공통된 특성을 추출하여 정의하는 데 사용됩니다. 즉, 다시 말하면 객체를 생성할 수 있는 클래스를 실체 클래스라고 한다면, 이 클래스들의 공통적인 필드나 메소드를 추출해서 선언한 클래스를 추상 클래스라고 합니다!!! abstract class Shape { abstract double calculateArea(); // 추상 메소드, 하위 클래스에서 구현 void displayArea()..