전체 글

CodeStates_BE_44/TIL

Day 11. [Java] 객체지향 프로그래밍 심화_상속, 캡슐화

Chapter 1. 상속 학습목표 - 상위 클래스-하위 클래스의 상속 관계의 핵심을 이해하고, 그 장점을 설명할 수 있다. - extends 키워드를 사용하여 두 개 이상의 클래스 간 상속 관계를 정의할 수 있다. - 포함관계와 상속관계의 차이를 설명할 수 있다. - 상속 관계에서 사용할 수 있는 메서드 오버라이딩의 정의, 성립 조건, 장점을 이해하고 이를 활용할 수 있다. - super 와 super() 의 차이를 설명할 수 있다. - Object 클래스가 자바 클래스의 상속계층도에서 최상단에 위치한다는 사실을 이해할 수 있다. 상속이란 기존의 클래스를 재활용하여 새로운 클래스를 작성하는 자바의 문법 요소를 의미한다. 가장 단순한 형태로 보면 두 클래스를 상위 클래스와 하위 클래스로 나누어 상위 클래스..

Problem Solving

[Java] 백준 10250. ACM 호텔

문제 ACM 호텔 매니저 지우는 손님이 도착하는 대로 빈 방을 배정하고 있다. 고객 설문조사에 따르면 손님들은 호텔 정문으로부터 걸어서 가장 짧은 거리에 있는 방을 선호한다고 한다. 여러분은 지우를 도와 줄 프로그램을 작성하고자 한다. 즉 설문조사 결과 대로 호텔 정문으로부터 걷는 거리가 가장 짧도록 방을 배정하는 프로그램을 작성하고자 한다. 문제를 단순화하기 위해서 호텔은 직사각형 모양이라고 가정하자. 각 층에 W 개의 방이 있는 H 층 건물이라고 가정하자 (1 ≤ H, W ≤ 99). 그리고 엘리베이터는 가장 왼쪽에 있다고 가정하자(그림 1 참고). 이런 형태의 호텔을 H × W 형태 호텔이라고 부른다. 호텔 정문은 일층 엘리베이터 바로 앞에 있는데, 정문에서 엘리베이터까지의 거리는 무시한다. 또 모..

CodeStates_BE_44/TIL

Day 10. [Java] 객체지향 프로그래밍 기초_생성자, 내부 클래스

Chapter 1. 생성자 학습 목표 생성자의 핵심 개념과 기본 문법을 이해하고 사용할 수 있다. 생성자가 메서드와 구분되는 두 가지 차이를 이해하고 설명할 수 있다. 메서드 오버로딩이 생성자에서 어떻게 구현될 수 있는 지 확인하고 이해할 수 있다. 기본 생성자와 매개변수가 있는 생성자의 차이를 설명할 수 있다. this 와 this() 의 차이에 대해 설명할 수 있다. 생성자(Constructor) 객체를 생성하는 역할을 하는 클래스의 구성 요소로서, 인스턴스가 생성될 때 호출되는 인스턴스 초기화 메서드다. 메서드와 비슷하다고 생각되지만 두 가지 차이점이 있다. 첫 번째, 생성자의 이름은 반드시 클래스의 이름과 같아야 한다. 두 번째, 생성자는 리턴 타입이 없다. 생성자의 기본 구조는 아래와 같다. 클..

CodeStates_BE_44/과제

텍스트 스타크래프트 프로그램 만들기

👾 [블리자드]에서 보내준 프로그래밍 요청서 ✏️ [TRPG 프로그램 기능] 본 프로그램은 아래와 같이 네 가지 기능 을 추가해 주세요. 나의 유닛과 상대 유닛의 정보를 직접 입력할 수 있도록 해주세요. 입력된 정보는 출력하여 확인할 수 있도록 해주세요. 공격 기능은 꼭 넣어주세요. 체력이 0 이하로 떨어지면 게임이 종료되도록 해주세요. 💡 추가해야 할 기능 - 공격할 유닛 선택 ( 나 / 상대 ) - 무기 선택 ( 현재의 Damage = 나의 공격력 / 상대 방어력인데 무기 별로 다르게 설정 ) - 공격을 다시 할건지 선택 - 상대 유닛 체력이 0인 경우 게임 진행 여부 선택 ( 계속할 경우 상대 유닛 정보 입력부터 다시 시작 ) - 내 체력이 0인 경우 게임 진행 여부 선택 ( 계속할 경우 내 체력 ..

Problem Solving

[Java] 백준 2839. 설탕 배달

💡 5의 배수까지 걸러낸 후 3의 배수에 꽃혀서 한참 돌아갔던 문제였다. 머리 좀 식히고 다시 차근차근 규칙을 찾다 보니 눈에 들어왔다 ㅠ ㅠ.. 문제 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그램 봉지와 5킬로그램 봉지가 있다. 상근이는 귀찮기 때문에, 최대한 적은 봉지를 들고 가려고 한다. 예를 들어, 18킬로그램 설탕을 배달해야 할 때, 3킬로그램 봉지 6개를 가져가도 되지만, 5킬로그램 3개와 3킬로그램 1개를 배달하면, 더 적은 개수의 봉지를 배달할 수 있다. 상근이가 설탕을 정확하게 N킬로그램 배달해야 할 때, 봉지 몇 개를 가져가면 되는지 그 수를 구하는..

CodeStates_BE_44/과제

편의점 발주 프로그램 만들기

⚙ 본 프로그램은 명령 프롬프트를 열어 실행할 수 있도록 합니다. 였지만,, 한글 인코딩이 어떻게 해도 안돼서 포기 ,, 기능 설명 showMenu() : 선택할 메뉴를 보여준다. selectMenu() : 번호를 입력 받아서 return한다. - 이 때 1~6 외의 숫자가 들어오면 다시 선택하게 한다. prod_input() : 등록할 상품명을 입력 받아서 List에 add prod_remove() : 삭제할 상품명을 입력 받아서 isCorrect() 호출 - 상품명이 List에 존재하면 제거, 존재하지 않으면 다시 입력 prod_amount_add() : 입고할 상품명, 수량을 입력 받아서 isCorrect() 호출 - 상품명이 List에 존재하면 해당 상품의 수량 추가, 존재하지 않으면 다시 입력 ..

CodeStates_BE_44/과제

피보나치 수열 프로그램 만들기

💡 피보나치 수열 프로그램을 만들고 코드 리팩터링하기 출력 예시 [안내]피보나치 수열 프로그램 시작. 원하는 수열의 개수를 입력해 주세요 : 6 [피보나치 수열 출력] 1 1 2 3 5 8 [안내]프로그램을 종료합니다. ✏프로그램의 기능 사용자의 피보나치 수열 개수 입력 받기 피보나치 점화식을 통한 연산 피보나치 수열 출력 및 프로그램 종료 메시지 출력 Step 1. main 메서드에 전부 작성 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Scanner; public class Fibonacci { pub..

CodeStates_BE_44/TIL

Day 9. [Java] 객체지향 프로그래밍 기초_클래스, 객체, 필드, 메서드

객체지향 프로그래밍의 이해 객체지향 프로그래밍(OOP; Object Oriented Programming)의 핵심 개념은 ‘실제 세계는 객체들로 구성되어 있으며, 발생하는 모든 사건들은 이 객체들 간의 상호작용을 통해 발생한다’는 전제로부터 출발한다. 즉, 사물의 속성(state)과 기능(behavior)을 분석한 후에 프로그래밍 변수와 함수로 정의함으로 실제 세계를 최대한 컴퓨터 프로그래밍에 반영하고자 하는 시도라 설명할 수 있다. 객체지향 프로그래밍의 장점 기존 코드를 활용해서 새로운 코드를 상대적으로 손쉽게 작성할 수 있고, 쉽게 코드를 변경할 수 있다. 즉, 프로그램 개발 및 유지 보수에 드는 비용과 시간이 줄어들며 데이터를 손실 없이 관리하기에 용이하다. Chapter 1. 클래스와 객체 학습 ..

CodeStates_BE_44/과제

자막 순화 프로그램 만들기

💡 유튜브 자막 순화 프로그램 만들기 관리자 계정을 생성하여 주세요.( ID : admin / PW : 0000 ) 해당 프로그램의 금칙어와 대체어를 설정해주세요. 입력된 자막에 금칙어가 존재하면 대체어로 바꿔 출력해주세요. ID / Password 일치할 때 [시스템] 유튜브 계정의 아이디를 입력하세요 {Ex - admin} : admin [시스템] 유튜브 계정의 비밀번호를 입력하세요{Ex - 0000} : 0000 [안내] 안녕하세요 admin님. [안내] 유튜브 영상의 자막을 생성해 주세요. 아 열받아 시발 킹받네 미친 ======================================== [알림] 프로그램의 금칙어 리스트입니다. [킹, 시발, 꺼저, 미친] =====================..

조화이트
백엔드 공부 기록