주식 가격 (프로그래머스) 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()..
상속에 대해(2)
·
BackEnd/JAVA 공부
타입 변환 자바에서 타입 변환은 굉장히 편리한 도구 입니다. 기본 타입일 경우 Integer.parseInt와 같은 편리한 메소드로 모든 타입으로 변경 시킬 수 있습니다. 클래스 사이에서도 타입 변환이 생깁니다. 바로 자식타입객체가 부모타입의 변수로 자동으로 타입 변환이 일어나는 것입니다. 자식은 부모의 특징과 기능을 상속받기 때문에 부모와 동일하게 취급될 수 있습니다. 자동 타입 변환 class A { } class B extends A { } B b = new B(); A a = b; a == b //true 부모 타입으로 자동 타입 변환된 이후에는 부모 클래스에 선언된 필드와 메소드만 접근 가능합니다. public class Parent { void method1() { ... } void meth..
상속에 대해(1)
·
BackEnd/JAVA 공부
상속이란? 객체 지향 프로그램에서 상속은 부모 클래스의 필드와 메소드를 자식 클래스에게 물려주는 것입니다. 이렇게 부모 클래스의 필드와 메소드를 자식 클래스가 상속받아 쓰는 것입니다. 이때 자식 클래스에는 또 다른 필드와 메소드가 들어갈 수 있습니다. 상속의 장점 코드 재사용 : 상속을 통해 부모 클래스의 속성과 메서드를 자식 클래스로 물려받을 수 있습니다. 이로 인해 부모 클래스의 코드를 중복해서 작성하지 않고도 자식 클래스에서 해당 코드를 활용할 수 있습니다. 확장성 : 상속을 통해 기존 클래스를 확장하여 새로운 클래스를 정의할 수 있습니다. 새로운 클래스에서는 부모 클래스의 기능을 유지하면서 추가적인 속성과 메서드를 정의할 수 있습니다. 다형성 : 상속은 다형성을 가능하게 합니다. 부모 클래스 타입..
메모리 사용 영역에 대해
·
BackEnd/JAVA 공부
데이터 타입 분류 데이터 타입에는 기본 타입과 참조 타입으로 분류된다. 기본 타입(primitive type)에는 정수 타입(byte, char, short, int, long), 실수 타입(float, double), 논리 타입(boolean)이 있다. 내가 오늘 공부해 볼 것은 참조 타입이다. 참조 타입은 객체 지향적 프로그래밍의 핵심이다. 참조 타입은 객체의 번지를 참조하는 타입으로 배열, 열거, 클래스, 인터페이스 타입이 존재한다. 기본 타입 변수 VS 참조 타입 변수 기본 타입 변수는 값이 저장됨. 참조 타입으로 선언된 변수는 객체가 생성된 메모리 번지를 저장한다. 참조 타입 변수는 stack 영역에 존재하고 heap 영역에 객체 주소에 내용을 가져옵니다. 메모리 사용 영역 저번에 JVM을 공부..
디펜스 게임 (프로그래머스) JAVA
·
BackEnd/알고리즘 공부
https://school.programmers.co.kr/learn/courses/30/lessons/142085# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 각 라운드 마다 적의 수를 알려줄 때 무적권을 적절하게 잘 사용해서 최대한 많은 라운드를 처리해야 합니다. 예를 들어 4,4,5를 무적권을 사용해 처리하고 2,3을 병사로 처리하면 병사는 2명 남습니다. 다음 라운드에 3명의 적이 오므로 라운드를 해결할 수 없으므로 최대 5라운드 까지 처리 가능합니다. 문제에 대한 아이디어 제일 처음 생각한 방법은 enemy를 정렬해서 k 번째 큰 ..