[99클럽] 99클럽 코테 스터디 13일차 TIL - DFS/BFS
·
코딩테스트 연습/99클럽
오늘의 문제LeetCode - Evaluate Boolean Binary Tree (출처 하단 표기) 문제You are given the root of a full binary tree with the following properties:Leaf nodes have either the value 0 or 1, where 0 represents False and 1 represents True.Non-leaf nodes have either the value 2 or 3, where 2 represents the boolean OR and 3 represents the boolean AND.The evaluation of a node is as follows:If the node is a leaf nod..
[99클럽] 99클럽 코테 스터디 12일차 TIL - DFS/BFS
·
코딩테스트 연습/99클럽
오늘의 문제LeetCode - Find a Corresponding Node of a Binary Tree in a Clone of That Tree (출처 하단 표기) 문제Given two binary trees original and cloned and given a reference to a node target in the original tree.The cloned tree is a copy of the original tree.Return a reference to the same node in the cloned tree.Note that you are not allowed to change any of the two trees or the target node and the answer m..
[99클럽] 99클럽 코테 스터디 11일차 TIL - DFS/BFS
·
코딩테스트 연습/99클럽
오늘의 문제LeetCode - Range Sum of BST (출처 하단 기재) 문제Given the root node of a binary search tree and two integers low and high, return the sum of values of all nodes with a value in the inclusive range [low, high]. 제한사항The number of nodes in the tree is in the range [1, 2 * 10 ⁴ ].1 1 All Node.val are unique.입출력 예rootlowhighreturn[10,5,15,3,7,null,18]71532[10,5,15,3,7,13,18,1,null,6]61023 풀이/** * Defi..
[99클럽] 99클럽 코테 스터디 10일차 TIL - 완전탐색
·
코딩테스트 연습/99클럽
오늘의 문제프로그래머스 - 카펫 (출처 하단 기재)비기너 문제가 푼 문제라 어제의 미들러 문제를 풀었다. 문제 제한사항갈색 격자의 수 brown은 8 이상 5,000 이하인 자연수입니다.노란색 격자의 수 yellow는 1 이상 2,000,000 이하인 자연수입니다.카펫의 가로 길이는 세로 길이와 같거나, 세로 길이보다 깁니다.입출력 예brownyellowreturn102[4, 3]81[3, 3]2424[8, 6] 풀이class Solution { public int[] solution(int brown, int yellow) { int[] answer = new int[2]; // yellow_w * 2 + yellow_h * 2 + 4 = brown ..
[99클럽] 99클럽 코테 스터디 9일차 TIL - 완전탐색
·
코딩테스트 연습/99클럽
오늘의 문제프로그래머스 - 최소직사각형 (출처 하단 표기) 문제명함 지갑을 만드는 회사에서 지갑의 크기를 정하려고 합니다. 다양한 모양과 크기의 명함들을 모두 수납할 수 있으면서, 작아서 들고 다니기 편한 지갑을 만들어야 합니다. 이러한 요건을 만족하는 지갑을 만들기 위해 디자인팀은 모든 명함의 가로 길이와 세로 길이를 조사했습니다.아래 표는 4가지 명함의 가로 길이와 세로 길이를 나타냅니다.명함 번호가로 길이세로 길이16050230703603048040 가장 긴 가로 길이와 세로 길이가 각각 80, 70이기 때문에 80(가로) x 70(세로) 크기의 지갑을 만들면 모든 명함들을 수납할 수 있습니다. 하지만 2번 명함을 가로로 눕혀 수납한다면 80(가로) x 50(세로) 크기의 지갑으로 모든 명함들을 수..
[99클럽] 99클럽 코테 스터디 8일차 TIL - 정렬 (Sort)
·
코딩테스트 연습/99클럽
오늘의 문제Leetcode - Count Pairs Whose Sum is Less than Target (출처 하단 표기) 문제Given a 0-indexed integer array nums of length n and an integer target, return the number of pairs (i, j) where 0  and nums[i] + nums[j] . 제한사항1 -50 입출력 예numstarget[-1,1,2,3,1]2[-6,2,5,-2,-7,-1,3]-2 풀이import java.util.*;class Solution { public int countPairs(List nums, int target) { // target보다 작은 짝의 개수 int ..
[99클럽] 99클럽 코테 스터디 7일차 TIL - 정렬 (Sort)
·
코딩테스트 연습/99클럽
오늘의 문제프로그래머스 - 가장 큰 수 (출처 하단 표기)비기너 문제가 푼 문제라 미들러 문제를 풀었다. 문제0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요.예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 수는 6210입니다.0 또는 양의 정수가 담긴 배열 numbers가 매개변수로 주어질 때, 순서를 재배치하여 만들 수 있는 가장 큰 수를 문자열로 바꾸어 return 하도록 solution 함수를 작성해주세요. 제한사항numbers의 길이는 1 이상 100,000 이하입니다.numbers의 원소는 0 이상 1,000 이하입니다.정답이 너무 클 수 있으니 문..
[자료구조] 큐 (Queue)
·
Computer Scrience/Data Structrue
큐큐(Queue)는 삽입과 삭제가 각각 다른 곳에서 수행되는 자료구조이다. 삭제는 front, 삽입은 rear에서 이루어지기 때문에 선입선출(FIFO, First In First Out)의 구조를 가지는 유한 순서 리스트이다. 큐를 2개로 분리하면 선형 큐와 원형 큐로 나뉠 수 있는데, 원형 큐는 배열로 구현한 선형 큐의 한계점을 보완한다는 특징이 있다. 인덱스의 범위를 벗어나면 원소가 들어갈 자리가 있어도 삽입을 못하는 문제가 발생하는 선형 큐와는 달리, 원형 큐는 배열의 크기보다 작은 원소가 저장되어 있는 경우라면 원소 삽입이 가능하다는 장점이 있다. 아래 자바로 구현한 코드를 함께 보자. 배열을 이용한 원형 큐class CircularQueue { private int front; pri..
[99클럽] 99클럽 코테 스터디 6일차 TIL - 힙(Heap)
·
코딩테스트 연습/99클럽
오늘의 문제Leetcode - Maximum Product of Two Elements in an Array (출처 하단 표기) 문제Given the array of integers nums, you will choose two different indices i and j of that array. Return the maximum value of (nums[i]-1)*(nums[j]-1). 제한사항2 1 입출력 예inputoutput[3, 4, 5, 2]12[1, 5, 4, 5]16[3, 7]12 풀이import java.util.*;class Solution { public int maxProduct(int[] nums) { Arrays.sort(nums); int m..
[99클럽] 99클럽 코테 스터디 5일차 TIL - 힙(Heap)
·
코딩테스트 연습/99클럽
오늘의 문제프로그래머스 - 더 맵게 (출처 하단 표기) 문제매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같이 특별한 방법으로 섞어 새로운 음식을 만듭니다.섞은 음식의 스코빌 지수 = 가장 맵지 않은 음식의 스코빌 지수 + (두 번째로 맵지 않은 음식의 스코빌 지수 * 2)Leo는 모든 음식의 스코빌 지수가 K 이상이 될 때까지 반복하여 섞습니다.Leo가 가진 음식의 스코빌 지수를 담은 배열 scoville과 원하는 스코빌 지수 K가 주어질 때, 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 섞어야 하는 최소 횟수를 return 하도록 solution ..