본문 바로가기
반응형

All205

[프로그래머스] 스킬트리 (Level 2) programmers.co.kr/learn/courses/30/lessons/49993 코딩테스트 연습 - 스킬트리 programmers.co.kr 문제 스킬순서와 배워야하는 스킬트리가 주어진다 예를 들어, skill : CBD skill_trees : ["BACDE", "CBADF", "AECB", "BDA"] 이면, 스킬을 배울 때, 꼭 C, B, D 순서로 배워야만 한다 BACDE: B 스킬을 배우기 전에 C 스킬을 먼저 배워야 합니다. 불가능한 스킬트립니다. CBADF: 가능한 스킬트리입니다. AECB: 가능한 스킬트리입니다. BDA: B 스킬을 배우기 전에 C 스킬을 먼저 배워야 합니다. 불가능한 스킬트리입니다. 그래서 스킬트리 중 총 2개를 배울 수 있다 자세한 문제는 위 링크를 통해 확인할 .. 2020. 11. 7.
[Leetcode(릿코드)] 454. 4SUM 2 (Medium) leetcode.com/problems/4sum-ii/ 4Sum II - 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 문제 배열 4개가 주어진다 각 배열의 요소에서 1개씩 뽑아서 모두 더한다 그리고 0이 나오는 경우의 개수를 출력한다 예를 들면, A = [1, 2] B = [-2,-1] C = [-1, 2] D = [0, 2] 이면, The two tuples are: 1. (0, 0, 0, 1) -> A[0] + B[0] + C[0] + D[1] = 1 + .. 2020. 11. 3.
[Leetcode(릿코드)] 378. Kth Smallest Element in a Sorted Matrix (Medium) Binarysearch 문제 leetcode.com/problems/kth-smallest-element-in-a-sorted-matrix/ Kth Smallest Element in a Sorted Matrix - 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 문제 2차원 배열이 주어진다 각 배열은 정렬이 되어있다 예를 들면, matrix = [[1, 5, 9], [10, 11, 13], [12, 13, 15] ], k = 8 이 주어지면, 1 5 9 10 1.. 2020. 11. 3.
[이펙티브자바 3판] ITEM35. ordinal 메서드 대신 인스턴스 필드를 사용하라 이번장의 핵심은... Enum API 문서를 보면 ordinal에 대해 이렇게 쓰여 있음 '대부분 프로그래머는 이 메서드를 쓸 일이 없다' 이 메서드는 EnumSet과 EnumMap 같이 열거 타입 기반의 범용 자료구조에 쓸 목적으로 설계되었다 따라서 이런 용도가 아니면 ordinal 메서드는 절대 사용하지 말자 Ordinal() 메서드 해당 상수가 그 열거 타입에서 몇 번째 위치인지를 반환하는 메서드 // ordinal 잘못 사용한 예 - 따라 하지 말것 public enum Ensemble { SOLO, DUET, TRIO, QUARTER ... public int numberOfMusicians() { return ordinal()+1; } } 동작은 하지만 유지보수가 끔찍한 코드임 상수 선언 순서.. 2020. 11. 1.
[Leetcode(릿코드)] 107. Binary Tree Level Order Traversal II (Easy) BFS 문제 leetcode.com/problems/binary-tree-level-order-traversal-ii/ Binary Tree Level Order Traversal II - 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 문제 이진트리를 BFS로 탐색한 후, 같은 레벨끼리 리스트로 묶어서 리턴하는 문제이다 해결 2가지 방식으로 풀었다 1. BFS로 탐색한 후, 가장 상위 레벨의 노드부터 호출하기 위해 스택에 담아 리턴한다 static void bf.. 2020. 11. 1.
[Leetcode(릿코드)] 111. Minimum Depth of Binary Tree (Easy) BFS 문제 leetcode.com/problems/minimum-depth-of-binary-tree/ Minimum Depth of Binary 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 문제 루트 노드에서 시작해서 리프 노드까지 가장 짧은 거리를 구하는 문제이다 dfs 문제에서 골랐는데, bfs로 푸는 게 더 적합한 듯하다 해결 BFS로 탐색하다가 자식노드가 없으면 더이상 탐색하지 않는다 private static int bfs(TreeNo.. 2020. 11. 1.
[이펙티브자바 3판] ITEM34. int 상수 대신 열거 타입을 사용하라 이번장의 핵심은... 열거 타입은 확실히 정수 상수보다 뛰어나다 더 읽기 쉽고 안전하고 강력하다 대다수 열거 타입이 명시적 생성자나 메서드 없이 쓰이지만, 각 상수를 특정 데이터와 연결짓거나 상수마다 다르게 동작하게 할 때는 필요하다 드물게는 하나의 메서드가 상수별로 다르게 동작해야 할 때도 있다 이런 열거 타입에서는 switch 문 대신 상수별 메서드 구현을 사용하자 열거 타입 상수 일부가 같은 동작을 공유한다면 전략 열거 타입 패턴을 사용하자 정수 열거 패턴 자바에서 열거 타입을 지원하기 전에는 정수 상수를 한 묶음 선언해서 사용 public static final int APPLE_FUJI = 0; public static final int APPLE_PIPPIN = 1; public static .. 2020. 10. 28.
반응형