해커랭크 Day 29일 챌린지를 시작해보자. 😆 벌써 마지막 챌린지이다!! 길고 길었던 챌린지의 끝이 보여 기쁘기도 하지만! 아직 끝나지 않았기에 일단 공부를 계속하자,, (진정진정) Day 29의 tutorial 강의에서는 여러 가지 프로그래밍 언어로 함수, 변수 등을 선언하는 방법을 배웠다. 딱히 진행한 소스코드는 없기에 바로 문제풀이 포스팅을 진행한다. 오늘의 조건은 다음과 같다. /* 입력 : n,k 문제 : 1~n까지 중에서 모든 두 숫자의 조합으로 &연산자 수행 후 최댓값 중 k보다 작은 값 출력 */ 우리가 구현해야할 메서드를 자세히 살펴보자. public static int bitwiseAnd(int N, int K) { // Write your code here int res = 0; f..
지난 포스팅의 자바 Day 28 강좌 리뷰에 이어 이번 포스팅에서는 Day 28 자바 코드 리뷰를 진행해보자. 오늘 문제는 알고리즘은 알겠으나 정규 표현식을 접해보지 않아 조금은 생소했다. 그래서 먼저 정규표현식에 대해 공부하고 인터넷 여러 사이트를 참고하여 답안을 확인했다. 먼저 정규표현식에 대해 알아보자. 👇👇 🤔 정규 표현식(Regular Expreesion) 이란? : 특정한 규칙을 가진 문자열의 집합이다. 우리는 문제에서 @gmail.com이라는 이메일만 취급하기로 했으므로 이 정규 표현식을 이용해야한다. 소스코드는 (출처 - 글자 클릭 시 이동)의 소스코드를 그대로 가져왔고, 정규 표현식이나 코드 사용 이유 등 이런저런 블로그를 통해 필자가 학습한 내용을 주석으로 추가했다. 출처는 코드안에 또..
해커랭크 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 27 챌린지는 강의가 없기 때문에 바로 문제풀이를 진행한다. 이번 문제는 문제에서 지정하는 클래스와 메서드를 직접 코드로 구현하는 문제였다. 문제 내용은 이해가 되었지만 클래스와 메서드를 코드로 구현하는 게 낯설어 인터넷의 도움을 받고 문제를 해결했다. 추후에 복습이 필요할 것 같다. 우선 전체 소스코드와 출처를 확인해보자. 👇👇 (출처 - 글자 클릭 시 이동) import java.util.*; public class Solution { public static int minimum_index(int[] seq) { if (seq.length == 0) { throw new IllegalArgumentException("Cannot get the minimum value index from an..
지난 포스팅의 자바 Day 25 강좌 리뷰에 이어 이번 포스팅에서는 Day 25 자바 코드 리뷰를 진행해보자. 이번 문제는 첫줄에 테스트 케이스 갯수가 입력되고 입력된 수가 소수인지 소수가 아닌지를 판별해 Prime, Not prime 문구를 출력하는 것이 문제였다. 필자는 이 문제를 풀면서 몇몇 테스트 케이스를 통과하지 못하는 에러가 났었는데 조건 분석을 제대로 못한 줄 알고 한참을 해매다 알고 보니 Prime이라고 써야할 것을 prime이라고 출력시켰다. 😂 스펠링의 중요성을 또 한번 알려준 문제의 소스코드를 바로 확인해보자. 👇 public class Solution { public static void main(String[] args) throws IOException{ /* Enter your..
해커랭크 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 강좌 리뷰에 이어 이번 포스팅에서는 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..
금일 강의는 예전 소스코드를 활용하여 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..
- Total
- Today
- Yesterday
- 자바
- stack
- 소스코드
- 코드
- challenges
- 개발자
- 해커랭크 자바 챌린지
- 22 정보처리 산업기사
- ORM
- JPA
- 자바의 정석
- 백준
- 정보처리산업기사 공부법
- 풀이
- queue
- 강의
- 챌린지
- 해커랭크 자바
- 정보처리 산업기사
- hackerrank challenges
- LinkedList
- 해커랭크 챌린지
- Java
- BAEKJOON
- 해커랭크
- 정보처리산업기사
- 그리디
- 22 정보처리산업기사
- hackerrank
- 디버깅
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |