지난 포스팅의 자바 Day22 강좌 리뷰에 이어 이번 포스팅에서는 Day 22 자바 코드 리뷰를 진행해보자. 이번 문제는 필자가 이전 강의 포스팅에서 꼼꼼하게 이해했던(!!) cardinality() 부분이 문제로 출제되었다!!! (강의 들으면서 몰랐었던 부분 그냥 넘어가지 않고 꼼꼼히 추가 공부 잘했다고 생각했다. 뿌듯😆) 혹시나 하고 이전 포스팅의 링크를 걸어둘테니 안본 사람은 정말 꼭 보길 추천한다!! (이전 포스팅 보러가기) 또한 이번 문제에서 필자가 caldinality() 구하는 공식은 알겠는데 그거 조금만 응용하면 height 찾을 수 있겠는데 코드를 어떻게 작성할지 몰라 compile error를 냈던 코드가 있다. 그 코드 또한 살펴보자. 그래서 먼저 compile 에러가 난 코드부터 살..
해커랭크 Day 22 챌린지를 시작해보자. 😊 오늘은 Binary Serarch Tree(이진 탐색 트리)에 대해 학습했다. 이진 탐색 트리에 대해 잘 모르는 독자들은 필자의 이전 포스팅에서 자세히 다루고 있으니 참고하길 바란다. (포스팅 보러 가기) 필자도 이진 탐색 트리의 개념이 헷갈려 강의를 보고 이해가 되지 않아 위 포스팅을 작성하면서 공부하고나니 코드 이해가 훨씬 쉬웠다!! 그럼 소스코드를 확인해보자. public interface Tree { public boolean isEmpty(); public int cardinality(); public boolean member(D elt); public NonEmptyBST add(D elt); } Tree interface public class..
금일 강의는 예전 소스코드를 활용하여 Generics을 이용해 코드를 변경하는 것으로 따로 진행하지 않겠다. Generics에 대한 설명은 추후에 '자바의 정석' 카테고리에서 다시 다루도록 하겠다. 그럼 바로 코드 리뷰로 들어가보자.❗❗ 이번 문제는 예제를 보자마자 단순히 array 안의 값을 출력하기만 하면 되는 문제였는데 for문을 돌릴 때 array의 size만큼 돌려야하는데 그 방법을 몰라서 많이 해맸다. 결국 향상된 for문을 사용하여 해결할 수 있다는 것을 알게 되었고 문제를 해결할 수 있었다. 향상된 for문에 대해서 모르는 사람은 다음 포스팅을 살펴보자. (글자 클릭 시 이동) 필자의 블로그 포스팅으로 향상된 for문에 대한 설명을 위한 포스팅이다. 그럼 이제 전체 소스코드를 살펴보자. 👇..
지난 포스팅의 자바 Day20 강좌 리뷰에 이어 이번 포스팅에서는 Day 20 자바 코드 리뷰를 진행해보자. 이번 문제도 문제 자체를 이해하는데는 큰 어려움이 없었는데 list의 값을 어떻게 꺼내와야할지 몰라서 한참을 해맸다. 결국 인터넷을 통해 list.get(i) (i:인덱스)를 사용하면 된다는 것을 알고 해결했다. 또, 처음에는 if문을 작성할 때 다음과 같이 작성했었다. for (int i = 0; i < n; i++) { // Track number of elements swapped during a single array traversal for (int j = 0; j < n - 1; j++) { // Swap adjacent elements if they are in decreasing o..
해커랭크 Day 20 챌린지를 시작해보자. 😊 오늘은 enum에 대해 학습했다. 소스코드를 바로 확인해보자. public enum HairColor { BLONDE, BROWN, BLACK, RED, ORANGE, PINK, BLUE, GREEN, PURPLE, RAINBOW, OTHER } hairColor enum public class Person { HairColor hairColor = BLACK; public Person() { int a = 5; } public static void main(String[] args) { Person peterParker = new Person(); Person spiderMan = peterParker; peterParker.hairColor = PINK;..
지난 포스팅의 자바 Day19 강좌 리뷰에 이어 이번 포스팅에서는 Day19 자바 코드 리뷰를 진행해보자. 이번 문제도 영어를 몰라도 예제를 보면 쉽게 이해할 수 있는 문제였다. 이번 문제를 입력받은 수의 약수를 구해 약수들의 합을 출력하는 문제였다. 우선 전체 소스코드 먼저 한 번 살펴보자. import java.io.*; import java.util.*; interface AdvancedArithmetic{ int divisorSum(int n); } class Calculator implements AdvancedArithmetic { public int divisorSum(int n) { int sum = 0; for(int i=1; i
해커랭크 Day 19 챌린지를 시작해보자. 😆 오늘은 interface에 대해 학습했다. interface는 추상 메서드의 집합으로 인터페이스에 대해 잘 모르는 독자들은 다음의 링크를 참고하길 바란다. 링크1 [자바의 정석] Ch 7-31 추상 클래스(abstract class)란? Ch 7-34 추상클래스의 작성법은? Ch 7-35 인터페이스 🤔 추상 클래스(abstaract class)란? ✔ 미완성 설계도. 미완성 메서드를 갖고 있는 클래스 ✔ 다른 클래스 작성에 도움을 주기 위한 것. 인스턴스 생성 불가 ✔ 미완성 메서드. 구현부(몸통, {})이 없 dandev.tistory.com 링크2 [자바의 정석] Ch 7-38 인터페이스를 이용한 다형성이란? 인터페이스의 장점은? Ch 7-40 디폴트 메..
해커랭크 Day 18 챌린지를 시작해보자. 😆 오늘은 Stack과 Queue에 대해 배웠다. Stack과 Queue에 대해서 잘 모르는 독자는 다음의 링크를 참고하길 바란다. (글자 클릭 시 이동) [자바의 정석] Ch11-15 스택과 큐(Stack & Queue)란? 🤔 Stack이란? ✔ LIFO 구조(Last In First Out) 마지막에 저장된 것을 제일 먼저 꺼냄. 저장(push) 추출(pop) 🤔 Queue란? ✔ FIFO 구조(First In First Out) 제일 먼저 저장한 것을 제일 먼저 꺼냄. 🤔 Stack의.. dandev.tistory.com 필자의 '자바의 정석' 포스팅인데 저 글을 읽고도 이해가 되지 않는다면 해당하는 '자바의 정석' 강의를 듣고 문제를 푸는 것을 추천한다..
17일차 코드 리뷰를 진행해보자. 오늘 문제는 throws 로 예외처리를 진행하는 문제였다. Solution 클래스에 값을 입력 받는 코드는 이미 주어졌고 Calculator 클래스를 만들어 power 메서드에 예외 처리를 작성하면 되는 문제였다. 코드를 통해 바로 확인해보자. import java.util.*; import java.io.*; //Write your code here class Calculator { public int power(int n, int p) throws Exception { if(n
해커랭크 Day 17 챌린지를 시작해보자. 🔥 오늘도 어제와 마찬가지로 Exception에 대해 배웠다. 어제는 예외를 try-catch로 처리했다면 오늘은 throws Exception으로 예외를 처리했다. 먼저 강의 소스코드부터 확인해보자. /* rule1: the score should never be negative rule2: there should be no way to lose points if we break a rule, throw an exception */ public class HotChocolate { public static final double tooHot = 185; public static final double tooCold = 160; public static void..
16일차 코드 리뷰를 진행해보자. 16일 문제는 입력받은 문자열이 int형이면 int값을 출력시키고 string이면 Bad String 문자열을 출력시키는 문제였다. 입력 받는 코드는 문제에서 제공해주었고 우리는 try-catch를 이용하기만 하면 되었다. 처음에 NumberFormatException 예외를 몰랐어서 IOException을 사용했다가 컴파일 에러가 났다.. (IOException은 뭔가 만병통치약처럼 웬만한 에러를 잡아주는 줄 알앗다. 😂) 그래서 인터넷에서 exception 종류를 검색해서 NumberFormatException을 알게 되었고 코드를 제출하니 정답이 맞았다!! 입력을 String으로 받기 때문에 '입력받은 값이 숫자라면..' 이라는 조건이 필요한데 그 조건을 int 변..
해커랭크 Day 16 챌린지를 시작해보자. 🔥 오늘은 Exception에 대해서 배웠다. 먼저 소스코드부터 확인해보자. public class ExceptionsPractice { public static void main(String[] args) { // int[] intArray = new int[10]; // System.out.println(intArray[10]); try { int[] c = new int[5]; System.out.println("Element 6 at index 5 = " + c[5]); } catch (ArrayIndexOutOfBoundsException e) { System.out.println("Exception thrown" + e); } finally { Sys..
15일차 코드 리뷰를 진행해보자. 15 일 문제는 LinkedList의 insert 메서드를 완성시키는 문제였다. 예제에서는 getNext(), setNext() 등의 메서드를 만들고 insert, delete 등의 기능을 만들었으나 문제에서는 getter, setter가 구현되어 있지 않아서 조금 헷갈렸다. 인터넷 검색을 하다가 다음의 강의를 참고하여 문제를 해결했다. https://www.youtube.com/watch?v=uoZ-kvv9flU 그럼 소스코드를 살펴보자. import java.util.*; class Node { int data; Node next; Node(int d) { data = d; next = null; } } class Test { public static Node ins..
해커랭크 Day 15 챌린지를 시작해보자. 🔥 오늘은 LinkedList에 대해서 배웠다. 먼저 소스코드부터 확인하자. import java.util.LinkedList; public class LinkedListUS { // Properties Node head; int count; // Constructors public LinkedListUS() { head = null; count = 0; } public LinkedListUS(Node newHead) { head = newHead; count = 1; } // Methods // add public void add(int newData) { Node temp = new Node(newData); Node current = head; while(..
🤔 Comparator와 Comparable이란? ✔ 객체 정렬에 필요한 메서드(정렬기준 제공)를 정의한 인터페이스 ✅ Comparable : 기본 정렬기준을 구현하는데 사용 ✅ Comparator : 기본 정렬 기준 외에 다른 기준으로 정렬할 때 사용 public interface Comparator { int compare(Object o1, Object o2); // o1, o2 두 객체 비교 boolean equals(Object obj); // equals를 오버라이딩하라는 뜻 } public interface Comparable { int compareTo(Object o); // 주어진 객체(o)를 자신과 비교 } ✔ compare()와 compareTo()는 두 객체의 비교 결과를 반환하도..
- Total
- Today
- Yesterday
- 해커랭크 챌린지
- 그리디
- 디버깅
- 22 정보처리 산업기사
- 정보처리산업기사
- 소스코드
- queue
- 정보처리 산업기사
- 해커랭크
- 해커랭크 자바
- 정보처리산업기사 공부법
- ORM
- 챌린지
- challenges
- 해커랭크 자바 챌린지
- 풀이
- 강의
- hackerrank
- 자바의 정석
- stack
- 22 정보처리산업기사
- BAEKJOON
- 백준
- 코드
- Java
- 개발자
- JPA
- hackerrank challenges
- LinkedList
- 자바
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |