지난 포스팅의 자바 Day 26 강좌 리뷰에 이어 이번 포스팅에서는 Day 26 자바 코드 리뷰를 진행해보자. 이번 문제는 책 반납 기한에 따른 벌금을 부과하는 코드를 작성하는 문제였다. 예전에 해커랭크 강의에서 비슷한 예제를 학습한 적이 있었던 것 같아서 문제에 대한 부담감이 적었다. 그러나 조건 설정을 애매하게해서 일부 테스트 케이스만 통과하는 상황이 발생해 조금 수정하다 결국 인터넷의 도움을 얻었다. 출처와 함께 바로 소스코드를 확인해보자. 👇 (출처 - 글자 클릭 시 이동) import java.io.*; import java.util.*; public class Solution { public static void main(String[] args) throws IOException { /* E..
해커랭크 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..
오늘 Day24의 자바 강의에서는 Hangman 게임 만들기를 진행하였다. 필자도 모든 강의를 수강하고 코드 또한 작성하였으나 코드 내용 중 File file = new File(""); 의 코드로 파일을 생성하는 코드가 있는데 필자는 새로 프로젝트를 만들어서 진행하지 않고 package 단위로 진행하다보니 file이 만들어지지 않아 에러가 발생하였다. 아직 정확한 에러를 찾지 못해 포스팅으로 진행하기에는 무리가 있다고 판단해 오늘은 자바 코드 리뷰 포스팅을 바로 진행한다. 추후에 문제의 원인을 찾고 나면 포스팅하도록 노력해보겠다!! 그럼 바로 Day 24 자바 코드 리뷰 결과부터 확인해보자. 이번 문제는 linkedLIst의 중복을 제거한 삽입에 대한 문제였다. 우리는 removeDuplicates()..
지난 포스팅의 자바 Day 23 강좌 리뷰에 이어 이번 포스팅에서는 Day 23 자바 코드 리뷰를 진행해보자. 이번 문제는 넓이 우선 탐색으로 트리의 값을 출력하는게 문제였다. 소스코드를 살펴보며 좀 더 이야기해보자. import java.util.*; import java.io.*; class Node{ Node left,right; int data; Node(int data){ this.data=data; left=right=null; } } class Solution{ static LinkedList queue = new LinkedList(); static void levelOrder(Node root){ //Write your code here Queue queue = new LinkedList..
해커랭크 Day 23 챌린지를 시작해보자. 😊 오늘은 TicTacToe 게임을 만들어 보았다. TicTacToe 게임을 모르는 독자들을 위해 잠시 게임을 설명한다. 🤔 TicTacToe 게임이란? 오목과 아주 유사한 형태인 추상전략 보드 게임으로 '삼목'이라고 불리기도 한다. 판 크기틑 3x3 정사각형이고 2인 전용 게임이다. 🤔 TicTacToe 게임 하는 방법 1. 종이 위에 가로줄 2줄 세로줄 2줄을 그린다. 2. 9칸 위에 1P는 O, 2P는 X를 번갈아가며 그린다. 3. 먼저 O나 X를 3개가 직선으로 이어지게 만드는 사람이 승리한다. 나무위키에는 위와 같이 설명되어 있다. 다음의 링크를 클릭하면 나무위키 사이트로 이동하며 실제 게임을 시뮬레이션 하는 영상이 있으니 위의 설명으로 이해가 안된다면..
지난 포스팅의 자바 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..
hackerrankn challenges Day22 강의 수강 도중 이진 트리(Binary Tree)에 대한 코딩이 이루어지는데 이해가 어려워 유튜브를 통해 트리 자료구조에 대한 강의를 찾아보았다. 필자는 이전에 학교 '자료구조' 수업에서 트리에 대해 학습한 적이 있으나 기억이 가물가물해 추가 공부하고 학습 내용을 포스팅한다. 필자가 수강한 강의 내용은 링크 설정해 두었으니 글자를 클릭하길 바란다. (강의 : 유튜브 '나동빈'님 이코테 '트리'편) 그럼 강의 내용을 차근차근 정리해보자. 🤔 우선 트리(Tree)란 무엇일까? 트리란 가계도와 같은 계층적인 구조를 표현할 때 사용할 수 잇는 자료구조이다. ✅ 용어 ✔ 루트 노드(root node) : 부모가 없는 최상위노드 ✔ 단말 노드(leaf node) ..
금일 강의는 예전 소스코드를 활용하여 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 디폴트 메..
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);..
- Total
- Today
- Yesterday
- 해커랭크 챌린지
- 풀이
- hackerrank
- queue
- challenges
- 22 정보처리 산업기사
- 해커랭크
- 강의
- 자바의 정석
- 정보처리 산업기사
- 해커랭크 자바
- 해커랭크 자바 챌린지
- 디버깅
- 소스코드
- 정보처리산업기사 공부법
- LinkedList
- 코드
- hackerrank challenges
- 정보처리산업기사
- 22 정보처리산업기사
- ORM
- 백준
- JPA
- Java
- 자바
- 개발자
- BAEKJOON
- 챌린지
- 그리디
- 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 |