해커랭크 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..
오늘의 에러는!!! 몇일 아니 몇주?에 걸린 대장정의 끝!! 캡스톤 '매칭 서비스' 구현 중 값을 못넘기고 못받아오고 이상하게 넘기고 이상하게 받아오고 더럽게 넘기고 더럽게 받아오는(?) 그 대 장 정 의 끝 !! 이런 저런 더럽고 치사하고 복잡하고 짜증나는 방법으로 값을 받아오지 못하는 에러를 해결하고 매칭 서비스를 구현한 후 작성하는 개발일기 포스팅이다!! 진짜 필자에게 캡스톤이나 프로젝트 하면서 가장 어려운 게 값 넘기고 값 받아오는 건데 (아 아니다,, 사실 팀원들과 커뮤니케이션,, 단합이 젤 어려움,,,) 암튼! 코드 작성하는 것 중에서 가장 어려운 부분은 값 받아오고 넘기고 여기서 저기로 값을 어떻게 전달해줄 것인지,, 이 부분인데 오늘도 그 문제였다. 문제의 consultignName, co..
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()는 두 객체의 비교 결과를 반환하도..
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."..
🤔 Arrays란? ✔ 배열을 다루기 편리한 메서드(static) 제공 ✅ 배열의 출력 - toString() ✅ 배열 복사 - copyOf(), copyOfRange() ✅ 배열 채우기 - fill(), setAll() ✅ 배열의 정렬과 검색 - sort(), binarySearch() (이진탐색은 정렬되어있을 때만 가능하므로 정렬 먼저 하고 binarySearch() 사용 해야 한다.) int[] arr = {3, 2, 0, 1, 4}; int idx = Arrays.binarySearch(arr, 2); // idx=-5 잘못된 결과 (왜냐? 정렬되어 있지 않아서) Arrays.sort(arr); // 배열 arr을 정렬한다. System.out.println(Arrays.toString(arr))..
🤔 Iterator, ListIterator, Enumeration 이란? ✔ 컬렉션에 저장된 데이터를 접근(읽어오기)하는 데 사용되는 인터페이스 ✔ Enumeration은 Iterator의 구버전 ✔ ListIterator는 iterator의 접근성을 향상시킨 것(단방향 -> 양방향) ✔ 컬렉션에 저장된 요소들을 읽어오는 방법을 표준화한 것 ✔ 컬렉션에 iterator()를 호출해서 Iterator를 구현한 객체를 얻어서 사용 🤔 Map과 Iterator ✔ Map에는 Iterator()가 없다. ✔ keySet(), entrySet(), values()를 호출해야한다. Map map = new HashMap(); ... Iterator it = map.entrySet().iterator(); 사용된 ..
- Total
- Today
- Yesterday
- hackerrank
- 정보처리산업기사 공부법
- 디버깅
- JPA
- 개발자
- challenges
- 해커랭크
- 정보처리 산업기사
- 해커랭크 자바
- 소스코드
- 풀이
- 강의
- hackerrank challenges
- 자바의 정석
- 자바
- LinkedList
- 정보처리산업기사
- BAEKJOON
- 코드
- 22 정보처리산업기사
- Java
- 22 정보처리 산업기사
- 해커랭크 자바 챌린지
- 백준
- queue
- 챌린지
- 그리디
- stack
- 해커랭크 챌린지
- ORM
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |