전체 글
-
4주차 과제: 제어문Programming/Java live study 2020. 12. 24. 02:11
4주차 과제: 제어문 · Issue #4 · whiteship/live-study 목표 자바가 제공하는 제어문을 학습하세요. 학습할 것 (필수) 선택문 반복문 과제 (옵션) 과제 0. JUnit 5 학습하세요. 인텔리J, 이클립스, VS Code에서 JUnit 5로 테스트 코드 작성하는 방법에 익숙해 github.com 목표 자바가 제공하는 제어문을 학습하세요. 학습할 것 - 선택문 - 반복문 - 과제 0. JUnit 5 학습하세요. - 과제 1. live-study 대시 보드를 만드는 코드를 작성하세요. - 과제 2. LinkedList를 구현하세요. - 과제 3. Stack을 구현하세요. - 과제 4. 앞서 만든 ListNode를 사용해서 Stack을 구현하세요. - (optional) 과제 5. Q..
-
3주차 과제: 연산자Programming/Java live study 2020. 12. 24. 02:10
3주차 과제: 연산자 · Issue #3 · whiteship/live-study 목표 자바가 제공하는 다양한 연산자를 학습하세요. 학습할 것 산술 연산자 비트 연산자 관계 연산자 논리 연산자 instanceof assignment(=) operator 화살표(->) 연산자 3항 연산자 연산자 우선 순위 (option github.com 목표 자바가 제공하는 다양한 연산자를 학습하세요. 학습할 것 - 산술 연산자 - 비트 연산자 - 관계 연산자 - 논리 연산자 - instanceof - assignment(=) operator - 화살표(->) 연산자 - 3항 연산자 - 연산자 우선 순위 - (optional) Java 13. switch 연산자 1. 산술 연산자 참고 : blog.baesangwoo.d..
-
2주차 과제: 자바 데이터 타입, 변수 그리고 배열Programming/Java live study 2020. 12. 24. 02:09
whiteship/live-study 온라인 스터디. Contribute to whiteship/live-study development by creating an account on GitHub. github.com 목표 자바의 프르미티브 타입, 변수 그리고 배열을 사용하는 방법을 익힌다. 학습할 것 프리미티브 타입 종류와 값의 범위 그리고 기본 값 프리미티브 타입과 레퍼런스 타입 리터럴 변수 선언 및 초기화하는 방법 변수의 스코프와 라이프타임 타입 변환, 캐스팅 그리고 타입 프로모션 1차 및 2차 배열 선언하기 타입 추론, var 1. 프리미티브 타입 종류와 값의 범위 그리고 기본 값 출처 : github.com/kksb0831/Practice_project/blob/master/Java_Study_..
-
1주차 과제: JVM은 무엇이며 자바 코드는 어떻게 실행하는 것인가.Programming/Java live study 2020. 12. 24. 02:08
whiteship/live-study 온라인 스터디. Contribute to whiteship/live-study development by creating an account on GitHub. github.com 목표 자바 소스파일(.java)을 JVM으로 실행하는 과정 이해하기. 학습할 것 VM이란 무엇인가 컴파일 하는 방법 실행하는 방법 바이트코드란 무엇인가 JIT 컴파일러란 무엇이며 어떻게 동작하는가 JVM 구성 요소 JDK와 JRE의 차이 1. JVM이란 무엇인가 Java Virtual Machine의 줄임말이며 Java 바이트코드를 OS에 맞게 해석해주는 역할 어느 OS던지 Java 프로그램이 실행할 수 있도록 도와준다. 바이너리코드 - 0과 1로 구성되어 있고 컴퓨터가 이해할 수 있다. ..
-
[Baekjoon Online Judge] 11399번: ATM문제 풀이/Baekjoon Online Judge 2020. 12. 23. 19:44
11399번: ATM 11399번: ATM 첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000) www.acmicpc.net import java.io.*; import java.util.Arrays; public class Baekjoon11399 { public static void main(String[] args) throws IOException { BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bufferedWriter = new BufferedWrit..
-
[Baekjoon Online Judge] 2839번: 설탕 배달문제 풀이/Baekjoon Online Judge 2020. 12. 23. 18:01
2839번: 설탕 배달 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net import java.io.*; public class Baekjoon2839 { public static int count(int weight) { int length = weight / 3; for (int i = 0; i
-
Greedy Algorithm문제 풀이/알고리즘, 자료구조 2020. 12. 23. 16:26
Greedy Algorithm greedy 탐욕스러운, 말 그대로 현재 시점에서 가장 이익되는 것을 쫓아간다. 필자가 학교에서 경로를 선택하는 매 순간마다 가장 짧은 경로를 찾아서 집을 간다고 가정하자. 버스와 지하철 노선 혹은 보행도로 등 무수한 경로에서 가장 짧은 경로를 찾아서 집으로 다가갈 것이다. 집으로 가는 길을 너무 나도 많고, 현재 가고 있는 길이 집까지 가는 가장 빠른 경로라는 것을 보장할 수 없다. 그리디 알고리즘은 결과적으로 가장 빠른 경로를 찾는 것이 아닌, 현재 시점에서 가장 빠른 경로를 찾는 방법이기 때문이다. 눈 앞의 이익만 우선 추구하는 알고리즘을 총칭한다. 그리디 알고리즘은 최적화 문제를 대상으로 한다. 그렇기 때문에 최적해를 보장하지 못한다. 그리디 알고리즘의 목표는 최적해..
-
SOLID, 좋은 객체 지향 설계의 5가지 원칙Programming/Java 2020. 12. 23. 13:42
SOLID, 좋은 객체 지향 설계의 5가지 원칙 SOLID 2000년대 초, 로버트 마틴은 객체 지향 프로그래밍 및 설계의 다섯 가지 기본 원칙을 정리하였다. 약어 의미 SRP 단일 책임 원칙 Single reponsibility principle OCP 개방-폐쇄 원칙 Open/closed principle LSP 리스코프 치환 원칙 Liskov substitution principle ISP 인터페이스 분리 원칙 Interface segregation principle DIP 의존관계 역전 원칙 Dependency inversion principle SRP 단일 책임 원칙 한 클래스는 하나의 책임만 가져야 한다. 클래스는 그 책임을 완전히 캡슐화 하여야 한다. 책임은 클 수도 작을 수도 있다. 중요한..