해커랭크 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 디폴트 메..
18일차 코드 리뷰를 진행해보자. 오늘 문제는 Tutorial에서 배웠던 Stack, Queue를 선언하고 push, pop, enqueue, dequeue 메서드를 구현하는 문제였다. 수업시간에 배운 내용을 조금만 응용하면 되는 문제였다. 바로 코드를 통해 확인해보자. import java.io.*; import java.util.*; public class Solution { // Write your code here. LinkedList queue = new LinkedList(); Stack stack = new Stack(); // Write your code here. // pushCharacter(); public void pushCharacter(char c) { stack.push(c);..
해커랭크 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(..
14일차 코드 리뷰를 진행해보자. 금일 문제는 백준에서 흔히 풀어보던 최댓값 구하는 스타일이라 딱히 어렵지 않게 해결할 수 있었으나 필자의 코드가 알고리즘적으로 최선의 코드는 아닌 것 같아 인터넷을 검색하다 훨씬 간결하고 좋은 알고리즘을 발견해 공유해보려고 한다. 그럼 우선 필자가 작성한 코드부터 살펴보자! import java.io.*; import java.util.*; import java.text.*; import java.math.*; import java.util.regex.*; class Difference { private int[] elements; public int maximumDifference; int max = 0; int diff = 0; // Add your code here..
해커랭크 Day14 챌린지를 시작해보자. 🔥 오늘은 scope, import, package에 대해서 배웠다. 먼저 소스코드부터 확인하자. import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.*; public class CalendarPractice { public static void main(String[] args) { Calendar cal = Calendar.getInstance(); cal.add(Calendar.DATE, 0); System.out.println(cal.getTime()); SimpleDateFormat format1 = new SimpleDate..
13일차 코드 리뷰를 진행해보자. 금일 문제는 강의에서 거의 유사한 소스코드로 수업을 진행하기 때문에 큰 어려움 없이 해결할 수 있었을 것이다. 필자의 경우 아직 추상 메서드 코드 작성에 미숙해 컴파일 에러를 많이 냈지만 로직 자체는 어렵지 않게 구상할 수 있었다. 최종 코드를 살펴보자. import java.util.Scanner; abstract class Book { String title; String author; Book(String title, String author) { this.title = title; this.author = author; } abstract void display(); } class MyBook extends Book { int price; public MyBook..
13일차 챌린지를 시작하자! 금일 tutorial은 이전의 소스코드를 재활용해 추상 메서드에 대해 배운다. (+ 상속 내용 이어서 나옴.) 바로 소스코드를 보자. 먼저 Animal 클래스이다. import org.w3c.dom.ls.LSOutput; public abstract class Animal { private int age; // VS private int age; public Animal(int age) { this.age = age; System.out.println("An animal has been created!"); } public abstract void eat(); public void sleep() { System.out.println("An animal is sleeping."..
- Total
- Today
- Yesterday
- 22 정보처리산업기사
- 코드
- hackerrank
- Java
- 해커랭크 챌린지
- 백준
- 그리디
- JPA
- 자바
- queue
- ORM
- 정보처리산업기사
- 해커랭크 자바 챌린지
- 강의
- 해커랭크
- 해커랭크 자바
- challenges
- 정보처리 산업기사
- stack
- 풀이
- 자바의 정석
- LinkedList
- 디버깅
- BAEKJOON
- 소스코드
- 정보처리산업기사 공부법
- 개발자
- 22 정보처리 산업기사
- 챌린지
- hackerrank challenges
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |