본문 바로가기

Programming107

[Hackerrank] BinarySearchTreeLowestCommonAncestor https://www.hackerrank.com/challenges/binary-search-tree-lowest-common-ancestor/problem Binary Search Tree : Lowest Common Ancestor | HackerRank Given two nodes of a binary search tree, find the lowest common ancestor of these two nodes. www.hackerrank.com package exam.uploaded; //https://www.hackerrank.com/challenges/binary-search-tree-lowest-common-ancestor/problem import exam.Node; import jav.. 2020. 12. 2.
[이펙티브 자바3] 프로그래밍의 기본 원칙 자바 프로그래밍을 위한 규칙 아이템 모아둔 책. 그러한 규칙을 파생시키는 핵심적인 기본 원칙 2가지 명료성 (clarity)과 단순성 (simplicity) 컴포넌트는 사용자를 놀라게 하는 동작을 하면 안된다. (정해진 동작이나 예측할 수 있는 동작만 수행) 컴포넌트는 가능한 한 작되, 그렇다고 너무 (too) 작아서는 안 된다. 코드는 복사되는 게 아니라 재사용되어야 한다. 컴포넌트 사이의 의존성은 최소로 유지해야 한다. 오류는 가능한 한 빨리 (되도록 컴파일 타임에 : 따라서 컴파일 에러로 잡히는 오류는 좋은 오류이다) 잡아야 한다. 무엇보다 중요한 두가지 원칙을 잊지 말자. 프로그램의 성능도 중요하지만, 명확하고 정확하며 유연하고 견고하고 관리하기 쉬운 코드가 우선한다. www.kyobobook... 2020. 12. 1.
[Object Oriented Programming] 5 keywords Object Oriented Programming (객체 지향 프로그래밍) OOP - 객체들이 서로 유기적으로 동작하는 프로그래밍 이론 - 코드의 재사용성과 중복제거가 가장 큰 목적 추상화 목적과 관련이 없는 부분을 제외해서 필요한 부분을 포착하는 기법 객체의 공통된 속성들 중 필요한 부분을 포착해서 클래스로 정의하는 설계 기법 캡슐화 외부에 노출할 필요가 없는 정보들은 은닉 (정보은닉) 상속 상속 관계에 있는 두 클래스에 대해, 부모 클래스가 자손 클래스에게 속성을 물려주는 것 코드의 재사용이 목적 다형성 같은 형태이지만 다른 기능을 하는 것 오버라이딩은 이와 관련된 기능 클래스와 인스턴스(객체) 클래스 : 속성과 행위를 변수와 메소드로 정의 인스턴스 : 클래스에 정의된 변수와 메소드대로 실제 생성된 .. 2020. 12. 1.
[도서 리뷰] 자바 프로젝트 필수 유틸리티 www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9791162240700&orderClick=LEA&Kc= 자바 프로젝트 필수 유틸리티 - 교보문고 이 책은 자바 프로젝트를 수행하는 데 유용한 깃/깃허브, 젠킨스, 메이븐, 그레이들, SBT를 협업 관점에서 소개합니다. 단순히 기능만 소개하는 것이 아니라 현업에 유용한 플러그인들을 활용하 www.kyobobook.co.kr 자바 언어 생태계에서 진행되는 프로젝트의 필수 유틸리티를 다루는 책이다. 빌드, 형상관리, 배포, 협업을 위해서는 플러그인이 필수이며 현업에서 활발하게 사용되고 있다. 그 중 이 책에서는 메이븐, 그레이들, SBT , 깃/깃허브, 젠킨스 등을 다루고 .. 2020. 11. 30.
[leetcode] SymmetricTree https://leetcode.com/problems/symmetric-tree/ Symmetric Tree - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com import exam.TreeNode; import java.util.ArrayDeque; import java.util.Queue; public class SymmetricTree { // recursive public static boolean isSymmetric(TreeNode root) { if(.. 2020. 11. 29.
[leetcode] SameTree https://leetcode.com/problems/same-tree/ Same Tree - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com import exam.TreeNode; public class SameTree { public static boolean isSameTree(TreeNode p, TreeNode q) { if(p == null && q == null) return true; else if(p == null || q == null) retu.. 2020. 11. 29.
[leetcode] Minesweeper https://leetcode.com/problems/minesweeper/ Minesweeper - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com import java.util.ArrayDeque; import java.util.Queue; public class Minesweeper { public static void main(String[] args) { char[][] chars = {{'E', 'E', 'E', 'E', 'E'}, {'E', 'E', .. 2020. 11. 29.
[leetcode] LongestIncreasingSubsequence https://leetcode.com/problems/longest-increasing-subsequence/ Longest Increasing Subsequence - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com public class LongestIncreasingSubsequence { public static void main(String[] args) { System.out.println(lengthOfLIS(new int[] {10,9,2,5,3,7.. 2020. 11. 29.
[leetcode] GameofLife https://leetcode.com/problems/game-of-life/ Game of Life - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com import java.util.Arrays; public class GameofLife { public static void main(String[] args) { gameOfLife(new int[][] { {0,1,0}, {0,0,1}, {1,1,1}, {0,0,0} }); } // Any live cell .. 2020. 11. 29.