해커랭크 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 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 26 강좌 리뷰에 이어 이번 포스팅에서는 Day 26 자바 코드 리뷰를 진행해보자. 이번 문제는 책 반납 기한에 따른 벌금을 부과하는 코드를 작성하는 문제였다. 예전에 해커랭크 강의에서 비슷한 예제를 학습한 적이 있었던 것 같아서 문제에 대한 부담감이 적었다. 그러나 조건 설정을 애매하게해서 일부 테스트 케이스만 통과하는 상황이 발생해 조금 수정하다 결국 인터넷의 도움을 얻었다. 출처와 함께 바로 소스코드를 확인해보자. 👇 (출처 - 글자 클릭 시 이동) import java.io.*; import java.util.*; public class Solution { public static void main(String[] args) throws IOException { /* E..
오늘 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..
지난 포스팅의 자바 Day22 강좌 리뷰에 이어 이번 포스팅에서는 Day 22 자바 코드 리뷰를 진행해보자. 이번 문제는 필자가 이전 강의 포스팅에서 꼼꼼하게 이해했던(!!) cardinality() 부분이 문제로 출제되었다!!! (강의 들으면서 몰랐었던 부분 그냥 넘어가지 않고 꼼꼼히 추가 공부 잘했다고 생각했다. 뿌듯😆) 혹시나 하고 이전 포스팅의 링크를 걸어둘테니 안본 사람은 정말 꼭 보길 추천한다!! (이전 포스팅 보러가기) 또한 이번 문제에서 필자가 caldinality() 구하는 공식은 알겠는데 그거 조금만 응용하면 height 찾을 수 있겠는데 코드를 어떻게 작성할지 몰라 compile error를 냈던 코드가 있다. 그 코드 또한 살펴보자. 그래서 먼저 compile 에러가 난 코드부터 살..
금일 강의는 예전 소스코드를 활용하여 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..
지난 포스팅의 자바 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
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
- Total
- Today
- Yesterday
- 자바
- hackerrank
- 해커랭크
- challenges
- JPA
- 챌린지
- queue
- stack
- 개발자
- 정보처리 산업기사
- 백준
- 정보처리산업기사
- 코드
- BAEKJOON
- 해커랭크 자바 챌린지
- 22 정보처리 산업기사
- 정보처리산업기사 공부법
- ORM
- 디버깅
- 강의
- 풀이
- 22 정보처리산업기사
- 해커랭크 챌린지
- hackerrank challenges
- 소스코드
- LinkedList
- 자바의 정석
- 그리디
- 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 |