본문 바로가기

whiteship/live-study12

[Java] 이진검색트리(BST) 구현 이진검색트리 개념 class Node { int value; Node left = null; Node right = null; Node(int value) { this.value = value; } } Node 클래스 위와 같은 BST를 만들어보자. 노드 추가 class BinaryTree { Node head; void add(Node node) { Node parent = head; Node now = head; while (now != null) { parent = now; if (now.value > node.value) { now = now.left; } else { now = now.right; } } if (parent == null) { head = node; } else if (paren.. 2020. 12. 19.
[Java] 클래스, 객체 클래스 (Class), 객체 (Object) 객체지향프로그래밍(OOP; Object Oriented Programing)에서는 현실세계 정보를 프로그래밍 세상으로 가져오기 위해 객체 개념을 도입한다. 하나의 독립된 단위를 하나의 객체로 보고 객체간의 데이터 전달, 처리로 프로그래밍해나간다. 이 객체를 만들기 위한 틀을 클래스라고 한다. 접근제어자 class 클래스이름 { 멤버변수; 멤버함수; } 멤버변수 접근제어자 타입 변수명; 접근제어자를 제외하고는 일반 변수 선언과 동일하다. 메소드 접근제어자 반환타입 함수이름(매개변수) { // ... } 파라미터를 받아 멤버변수와 받은 파라미터들을 사용하여 로직을 처리 후 결과를 반환한다. 객체 외부에서는 어떤 처리가 되는지 알 수 없으므로 함수명을 잘지어 어떤 .. 2020. 12. 19.
[Java] 연결리스트(Linked List), Stack, Queue 구현 github.com/whiteship/live-study/issues/4 과제 2. LinkedList를 구현하세요. LinkedList에 대해 공부하세요. 정수를 저장하는 ListNode 클래스를 구현하세요. ListNode add(ListNode head, ListNode nodeToAdd, int position)를 구현하세요. ListNode remove(ListNode head, int positionToRemove)를 구현하세요. boolean contains(ListNode head, ListNode nodeTocheck)를 구현하세요. head는 노드를 가리키는 next 포인터 정보를 가진다. 각 노드들은 값을 저장하는 데이터와 다음 노드를 가리키는 next를 가진다. next에는 주소 정.. 2020. 12. 12.
[Java] Github API 통신 참고 : github-api.kohsuke.org/ 의존성 추가 mvnrepository.com/artifact/org.kohsuke/github-api 버전은 일단 제일 최신 버전! 1.117을 클릭 난 gradle을 쓰기 때문에 gradle 클릭. 내용을 복사한다. dependencies { // add compile group: 'org.kohsuke', name: 'github-api', version: '1.117' } build.gradle 파일, dependencies 블록에 붙여넣는다. 통신 확인 package javaStudy; import org.kohsuke.github.GitHub; import org.kohsuke.github.GitHubBuilder; import java.io... 2020. 12. 11.
[Java] 선택문, 반복문 선택문 조건을 걸고 해당 조건에서만 실행되는 로직이 있는 경우 사용한다. if-else if(조건문 1) { 로직 A } else if(조건문 2) { 로직 B } else if(조건문 3) { 로직 C } else { 로직 D } if문은 위와 같이 사용한다. 조건은 위에서부터 아래로 차례대로 판단한다. 조건문 1을 만족하면 로직 A 실행. 조건문 1을 만족하지 않고 조건문 2를 만족하면 로직 B 실행. 조건문 1,2를 만족하지 않고 조건문 3을 만족하면 로직 C 실행. 조건문 1,2,3을 만족하지 않은 경우 로직 D 실행. 예시 public class MyClass { public static void main(String args[]) { int age = 20; if(age >= 19) { Sys.. 2020. 12. 10.
[Java] JUnit5 테스트 JUnit5 JUnit5는 JUnit Platform, JUnit Jupiter, JUnit Vintage 모듈로 구성된다. JUnit Platform JVM 기반 테스팅 프레임워크 실행을 위한 기반 모듈. 플랫폼에서 실행되는 테스트 프레임워크 개발을 위한 TestEngine API를 정의(인터페이스). JUnit4 기반 환경의 플랫폼에서 TestEngine을 실행하기 위한 JUnit4 기반 Runner도 제공. JUnit Jupiter JUnit 5 버전에서 테스트 코드를 작성하기 위한 프로그래밍 모델, 확장 모델을 지원하는 모듈. 테스트 작성, 확장을 위한 JUnit Jupiter API(junit-jupiter-api)모듈과 테스트 실행을 위한 TestEngine 구현(junit-jupiter-en.. 2020. 12. 10.