해커랭크 Day 28 챌린지를 시작해보자. 😊 오늘은 Regular Expression에 대해 학습했다. 정규 표현식에 대해 잘 몰랐었기 때문에 코드 작성에도 어려움을 겪었고, 추후에 정규 표현식에 대한 포스팅도 작성하려고 한다. 오늘의 소스코드를 살펴보자. 👇👇 import java.util.HashSet; import java.util.Set; public class User { String username; String password; int age; Set orderIDs; public User(String customUserName, String customPassword, int customAge, Set orderIDs) { this.username = customUserName; this..
해커랭크 Day 25 챌린지를 시작해보자. 😊 (필자가 day 카운트를 헷갈려서 day 25 문제를 뛰어넘고 포스팅을 진행했다. 그래서 오늘은 day 25 포스팅을 진행해보려고 한다. day 26 포스팅은 이미 진행했으므로 내일은 day 27을 포스팅한다.) 오늘은 Running TIme & Complexity(시간 복잡도)에 대해 학습했다. 바로 소스코드를 살펴보자. 👇👇 import java.util.HashMap; public class Complexity { public static int findNumsOfRepetitions(String s, char c) { // Linear time; O(n) time int sum = 0; for(int i=0; i
해커랭크 Day 26 챌린지를 시작해보자. 😊 오늘은 UnitTest와 Test case 에 대해 알아보았다. 또한 오늘은 hackerrank challenges day22에서 진행했던 Tree 코드가 필요하다. 우선 전체 소스코드를 살펴보자. 👇👇 (Day 22에 사용했던 소스코드도 포함되어 있다.) public class EmptyBST implements Tree { public EmptyBST() { } @Override public boolean isEmpty() { return true; } @Override public int cardinality() { return 0; } @Override public boolean member(D elt) { return false; } @Overrid..
해커랭크 Day 23 챌린지를 시작해보자. 😊 오늘은 TicTacToe 게임을 만들어 보았다. TicTacToe 게임을 모르는 독자들을 위해 잠시 게임을 설명한다. 🤔 TicTacToe 게임이란? 오목과 아주 유사한 형태인 추상전략 보드 게임으로 '삼목'이라고 불리기도 한다. 판 크기틑 3x3 정사각형이고 2인 전용 게임이다. 🤔 TicTacToe 게임 하는 방법 1. 종이 위에 가로줄 2줄 세로줄 2줄을 그린다. 2. 9칸 위에 1P는 O, 2P는 X를 번갈아가며 그린다. 3. 먼저 O나 X를 3개가 직선으로 이어지게 만드는 사람이 승리한다. 나무위키에는 위와 같이 설명되어 있다. 다음의 링크를 클릭하면 나무위키 사이트로 이동하며 실제 게임을 시뮬레이션 하는 영상이 있으니 위의 설명으로 이해가 안된다면..
해커랭크 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..
해커랭크 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;..
해커랭크 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(..
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..
- Total
- Today
- Yesterday
- 정보처리산업기사
- 그리디
- queue
- 22 정보처리 산업기사
- LinkedList
- 백준
- 해커랭크 챌린지
- 해커랭크 자바
- BAEKJOON
- hackerrank
- 해커랭크 자바 챌린지
- ORM
- 해커랭크
- hackerrank challenges
- stack
- challenges
- 풀이
- 디버깅
- JPA
- 소스코드
- 자바의 정석
- 코드
- 정보처리산업기사 공부법
- 자바
- 강의
- 챌린지
- 개발자
- 22 정보처리산업기사
- 정보처리 산업기사
- Java
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |