전체 글
-
2. Add Two Numbers / LeetCode카테고리 없음 2019. 12. 16. 16:02
이번 문제는 간단한 링크드리스트 문제라서, 자세한 설명은 생략하겠습니다. 10이넘은 값을 carry라고 한다면, carry되어서, 다음번 노드에 1을 전달하는 부분 carry가 전달 되어서, 10을 넘겼을 때, 0으로 바꾸고 새노드를 1로 지정하는 부분 이 3가지 부분이 코딩할 때, 주된 포인트 입니다. /** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */ class Solution { public ListNode addTwoNumbers(ListNode l1, ListNode l2) { ListNode a = l1, b ..
-
[서평] 잘했어요 노트책, 강연, 스터디 2019. 12. 13. 11:42
일을 쉬면서, 하고자 했던 것들을 점점 이루지 못하게 되면서, 초초해 지는 나를 발견했다. 내 자신의 의지만으로, 어떤일을 계속해 나아가는 것은 쉽지 않은 일이 라는 것을 깨닫게 되었다. 다른 접근 방법이 필요했다. 이 고민을 하며 집어든 책이 '잘했어오 노트'였다. https://book.naver.com/bookdb/book_detail.nhn?bid=12810963 잘했어요 노트 실패와 역경, 슬럼프에서 벗어나 뛰어난 성취를 이루는 열쇠, ‘잘한 일 찾기’에 있다!하루 5분이면 할 수 있는, 스스로 변화하는 방법을 알기 쉽게 설명하는 『잘했어요 노트』. 세계적인 행동변화전문가로 활동 중인 저자가 10년간 대기업과 대학, 고교 등에서 행동변화 코칭을 하면서 수만 명이 세운 목표와 행동을 분석하여 매일..
-
Knapsack / Dynamic programming카테고리 없음 2019. 12. 12. 21:21
역시나 DP강의 MIT OpenCourseWare에서는 Knapsack도 잠시 스처 지나가듯이 설명하고 지나갑니다. 강의를 보실 분은 여기 클릭 해주세요. DP에서 자주나오는 Kanpsack 입니다. 오늘은 geekofgeek의 knapsack 문제를 풀어 보겠습니다. 문제 링크 https://practice.geeksforgeeks.org/problems/0-1-knapsack-problem/0 코드는 아래 참고하세요~ java source file github ← 클릭~! package com.tistory.skysign.Knapsack; import java.util.Scanner; public class Knapsack { // Knapsack 문제 링크 // https://practice.gee..
-
Heap sort 구현해 보기카테고리 없음 2019. 12. 11. 18:07
잠시 쉬는 시간에, 알고리즘 도감 앱을 잠깐 보다가, heap sort가 눈에 띄여서, 오늘은 heap sort을 코딩해 보았습니다. Java source file package com.tistory.skysign.Heap_sort; // heap sort의 코드가 필요하신분은 아래 링크 참고하세요. // https://www.geeksforgeeks.org/java-program-for-heap-sort/ // 이 소스 파일도, 위의 링크 참고해서 만들었습니다. // heap sort 알고리즘을 보다이해 하실 분은 https://www.youtube.com/watch?v=2DmK_H7IdTo // public class HeapSort { public void heapSort(int d[]) { // ..
-
Binary Tree를 1차원 배열을 사용해서 구성하기카테고리 없음 2019. 12. 11. 17:36
문득 시간이 좀 남아서, heap sort 를 잠시 코딩했다가, binary tree와 1차원 배열사용해서 구성하는 방법을 알아보겠습니다. Binary Tree는 1개의 parent 에 2개의 child 가 존재하는 트리입니다. 따라서, 이 binary tree 를 아래와 같이 BinaryTreeNode로 구현할 수 도 있습니다. public class BinaryTreeNode { public BinaryTreeNode mLeftNode; public BinaryTreeNode mRightNode; public int data; }하지만, Binary에 착안해서, Binary Tree를 1차원 배열을 사용해서 구성할 수 도 있습니다. 배열에서 parent 의 index 가 i 라고 할 때, left c..
-
Java 1D Array (Part 2) / hackerrank.comhackerrank.com 2019. 12. 10. 18:07
hackerrank.com 의 Java 1D Array (Part 2) 문제를 풀어 보겠습니다. 문제 링크 : https://www.hackerrank.com/challenges/java-1d-array/problem 답 코드 링크 : https://github.com/skysign/WSTT/blob/master/hackerrank/Java%201D%20Array%20(Part%202)/src/com/tistory/skysign/hackerrank/Java_1D_Array_Part_2/Main.java Discussion에 보면, loop를 사용해서 풀이도 가능한 것으로 보이지만, 요즘 Dynamic Programming을 공부중이기도 하고, 문제를 봤을 때, DP로 풀어보는 방법이 떠올라서, DP로 풀..
-
Coin change problem카테고리 없음 2019. 12. 4. 20:24
Coin change problem은 어떤 잔돈을 만들 수 있는 동전의 조합의 수를 알아내는 문제입니다. 앞에서 설명한 Minimum Coin Change Problem 문제와 함께, Dynamic Programming에서 주로 다뤄지는 문제입니다. 조건 S = {1,2,3} 동전의 종류는 3개 1, 2, 3 잔돈은 4 잔돈 4를 만들 수 있는 동전종류의 조합의 수 (단, 여기서 동전의 순서는 무시한다.) github link ← 여기 클릭 package com.tistory.skysign.MITOpenCourseWare.R5_Dynamic_Programming; // 코드 보시기 전에, 아래 유튜브 DP영상을 꼭 보시고 코드를 봐주세요. // https://www.youtube.com/watch?v=P..
-
(1,1)→(M,N)까지 가는 길의 경우의 수카테고리 없음 2019. 12. 4. 20:15
(1,1)→(M,N)까지 가는 길의 경우의 수 를 찾는 문제입니다. 아래 영상의 1분~5분에서 이 문제에 대해서 설명하고 있습니다. https://www.youtube.com/watch?v=krZI60lKPek&feature=share 자세한 내용은 아래 코드 참고하시구요, github 링크는 여기 → Java Source Link!! package com.tistory.skysign.MITOpenCourseWare.R5_Dynamic_Programming; public class Main { // https://www.youtube.com/watch?v=krZI60lKPek&feature=share // 동영상에서 4분 후반에 설명하는 첫 DP 문제를 실제 구현하면 아래와 같습니다. // [i][j] ..