![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/Hdji7/btrGupYA6L7/SC4JjcWfIkEkYQWiZPnnJk/img.png)
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..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/dROiln/btrGgEX0FC6/PjL2FFKxnZKhpDBWcmw9T1/img.png)
해커랭크 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(..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bM4d99/btrF5HSOo3E/F0IVVnkPboJU58XTxC9mF1/img.png)
🤔 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()는 두 객체의 비교 결과를 반환하도..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/5tV5a/btrGe8YoTzH/6vgNC3lSWlOhnofLJ9udT1/img.png)
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..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/GEhfE/btrGfPKmtWY/2bLyxMF2BPClKKfJxP23r0/img.png)
해커랭크 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..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/cqETXm/btrF3harfjC/YEZl4KGUDKFKxEd3OLT4d0/img.png)
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..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/H8cO5/btrF3Z1CUBP/HBOR5kEUVs0Owjyu5XEE51/img.png)
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."..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/mjLyY/btrF0kcYEp4/YR2RkLN6tY7khKmEXKWgf1/img.png)
🤔 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))..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/c0Wrrp/btrF0ZfGMyj/BJLepSl2CpXmqg9teTMtV0/img.png)
🤔 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(); 사용된 ..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bTvWAZ/btrFWcgaEp9/Olt6DMwVfImknYze00BYz0/img.png)
필자가 최근에 주로 포스팅하는 hackerrank challenges 포스팅에서도 알 수 있지만 필자는 값을 받아올 때 보통 for문을 많이 사용한다. 그런데 hackerrank에서도 기본 소스 코드에 Iterator를 이용해 값을 받아오는 코드가 많은데 오늘 Iterator를 쓰는 확실한 이유를 알게 되었다!! 다음의 코드를 보자. import java.util.ArrayList; import java.util.Iterator; public class Iterator사용이유 { public static void main(String[] args) { ArrayList list = new ArrayList(); list.add("1"); list.add("2"); list.add("3"); list.ad..
- Total
- Today
- Yesterday
- 백준
- 디버깅
- Java
- 22 정보처리산업기사
- 22 정보처리 산업기사
- 개발자
- hackerrank challenges
- JPA
- queue
- 강의
- 정보처리산업기사 공부법
- 해커랭크 자바
- 풀이
- 그리디
- 정보처리 산업기사
- 자바
- 정보처리산업기사
- 소스코드
- 해커랭크 챌린지
- 자바의 정석
- LinkedList
- 코드
- hackerrank
- ORM
- BAEKJOON
- challenges
- stack
- 해커랭크 자바 챌린지
- 챌린지
- 해커랭크
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |