Algorithm
-
[LeetCode/Python] 2. Add Two NumbersAlgorithm/Leet Code 2020. 7. 15. 17:20
2. Add Two Numbers Medium You are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and return it as a linked list. You may assume the two numbers do not contain any leading zero, except the number 0 itself. # Definition for singly-linked list. class ListNode: def __i..
-
[LeetCode/Python] 700. Search in a Binary Search TreeAlgorithm/Leet Code 2020. 7. 15. 01:30
Description Given the root node of a binary search tree (BST) and a value. You need to find the node in the BST that the node's value equals the given value. Return the subtree rooted with that node. If such node doesn't exist, you should return NULL. For example, Given the tree: 4 / \ 2 7 / \ 1 3 And the value to search: 2 You should return this subtree: 2 / \ 1 3 In the example above, if we wa..
-
[LeetCode/Python] 859. Buddy StringsAlgorithm/Leet Code 2020. 7. 12. 01:14
859. Buddy Strings Easy Given two strings A and B of lowercase letters, return true if and only if we can swap two letters in A so that the result equals B. class Solution: def buddyStrings(self, A: str, B: str) -> bool: if len(A) != len(B) : return False elif A == B : setA = list(set(list(A))) if len(setA) < len(A) : return True else : return False diff = [] for i in range(len(A)) : if A[i] != ..
-
[LeetCode/Python] 1221. Split a String in Balanced StringsAlgorithm/Leet Code 2020. 7. 12. 00:47
1221. Split a String in Balanced Strings Easy Balanced strings are those who have equal quantity of 'L' and 'R' characters. Given a balanced string s split it in the maximum amount of balanced strings. Return the maximum amount of splitted balanced strings. class Solution: def balancedStringSplit(self, s: str) -> int: length = len(s) result = 0 p = 0 for i in range(length) : if s[p:i+1].count('L..
-
[프로그래머스/Python] 프렌즈4블록Algorithm/Programmers codes 2020. 7. 10. 22:37
문제 설명 블라인드 공채를 통과한 신입 사원 라이언은 신규 게임 개발 업무를 맡게 되었다. 이번에 출시할 게임 제목은 "프렌즈4블록" 같은 모양의 카카오프렌즈 블록이 2×2 형태로 4개가 붙어있을 경우 사라지면서 점수를 얻는 게임이다. 만약 판이 위와 같이 주어질 경우, 라이언이 2×2로 배치된 7개 블록과 콘이 2×2로 배치된 4개 블록이 지워진다. 같은 블록은 여러 2×2에 포함될 수 있으며, 지워지는 조건에 만족하는 2×2 모양이 여러 개 있다면 한꺼번에 지워진다. 블록이 지워진 후에 위에 있는 블록이 아래로 떨어져 빈 공간을 채우게 된다. 만약 빈 공간을 채운 후에 다시 2×2 형태로 같은 모양의 블록이 모이면 다시 지워지고 떨어지고를 반복하게 된다. 각 문자는 라이언(R), 무지(M), 어피치..
-
[프로그래머스/python] 수식 최대화Algorithm/Programmers codes 2020. 7. 7. 01:15
문제 설명 IT 벤처 회사를 운영하고 있는 라이언은 매년 사내 해커톤 대회를 개최하여 우승자에게 상금을 지급하고 있습니다.이번 대회에서는 우승자에게 지급되는 상금을 이전 대회와는 다르게 다음과 같은 방식으로 결정하려고 합니다.해커톤 대회에 참가하는 모든 참가자들에게는 숫자들과 3가지의 연산문자(+, -, *) 만으로 이루어진 연산 수식이 전달되며, 참가자의 미션은 전달받은 수식에 포함된 연산자의 우선순위를 자유롭게 재정의하여 만들 수 있는 가장 큰 숫자를 제출하는 것입니다.단, 연산자의 우선순위를 새로 정의할 때, 같은 순위의 연산자는 없어야 합니다. 즉, + > - > * 또는 - > * > + 등과 같이 연산자 우선순위를 정의할 수 있으나 +,* > - 또는 * > +,-처럼 2개 이상의 연산자가 동..
-
[프로그래머스/python] 폰켓몬Algorithm/Programmers codes 2020. 7. 7. 00:15
문제 설명 당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다. 홍 박사님 연구실의 폰켓몬은 종류에 따라 번호를 붙여 구분합니다. 따라서 같은 종류의 폰켓몬은 같은 번호를 가지고 있습니다. 예를 들어 연구실에 총 4마리의 폰켓몬이 있고, 각 폰켓몬의 종류 번호가 [3번, 1번, 2번, 3번]이라면 이는 3번 폰켓몬 두 마리, 1번 폰켓몬 한 마리, 2번 폰켓몬 한 마리가 있음을 나타냅니다. 이때, 4마리의 폰켓몬 중 2마리를 고르는 방법은 다음과 같이 6가지가 있습니다. 1. 첫 번째(3번), 두 번째(1번) 폰켓몬을 선택 2. 첫 번째(3번), 세 번째(2번) 폰켓몬..
-
[프로그래머스/Python] 2019 카카오 개발자 겨울 인턴십 튜플Algorithm/Programmers codes 2020. 7. 7. 00:07
문제 설명 셀수있는 수량의 순서있는 열거 또는 어떤 순서를 따르는 요소들의 모음을 튜플(tuple)이라고 합니다. n개의 요소를 가진 튜플을 n-튜플(n-tuple)이라고 하며, 다음과 같이 표현할 수 있습니다. (a1, a2, a3, ..., an) 튜플은 다음과 같은 성질을 가지고 있습니다. 1. 중복된 원소가 있을 수 있습니다. ex : (2, 3, 1, 2) 2. 원소에 정해진 순서가 있으며, 원소의 순서가 다르면 서로 다른 튜플입니다. ex : (1, 2, 3) ≠ (1, 3, 2)튜플의 원소 개수는 유한합니다. 3. 원소의 개수가 n개이고, 중복되는 원소가 없는 튜플 (a1, a2, a3, ..., an)이 주어질 때(단, a1, a2, ..., an은 자연수), 이는 다음과 같이 집합 기호 ..