태그: Python

[알고리즘] Generate Parentheses

Leetcode의 Generate Parentheses 문제를 풀어보도록 하겠습니다. 문제n 쌍의 괄호가 주어졌을 때, 괄호로 이루어진 유효한 문자열의 조합을 만들어내는 함수를 작성하라.예를 들어, n = 3 이면, 함수의 리턴 값은 다음과 같다. 1234567[ "((()))", "(()())", "(())()", "()(())", "()()()

[알고리즘] Merge Two Sorted Lists

Leetcode의 Merge Two Sorted Lists 문제를 풀어보도록 하겠습니다. 문제두 개의 정렬된 링크드 리스트를 병합하라. 병합된 링크드 리스트는 두 개의 링크드 리스트를 꼬아놓은 형태로 만들어져야 하고 역시 정렬되어 있어야 한다. 예시 12Input: 1->2->4, 1->3->4Output: 1->1->2

[알고리즘] Valid Parentheses

Leetcode의 Valid Parentheses 문제를 풀어보도록 하겠습니다. 문제(, ), {, }, [, ] 만으로 이뤄진 문자열이 주어졌을 때, 다음 조건을 만족하면 true 만족하지 않으면 false를 리턴하라. 같은 종류의 괄호로만 열고 닫혀야 한다. 괄호들은 등장한 순서대로 닫혀야 한다. 단, 빈 문자열은 무조건 true로 간주한다. Ex

[알고리즘] Remove Nth Node From End of List

Leetcode의 Remove Nth Node From End of List 문제를 풀어보도록 하겠습니다. 문제링크드 리스트가 주어졌을 때, 끝에서 n번째 노드를 제거 후, 그 링크드 리스트의 헤드를 리턴하라. 예를 들어, 링크드 리스트가 1->2->3->4->5이고 n이 2라면, 1->2->3->5를 리턴해야 한다.왜

[알고리즘] Letter Combinations of a Phone Number

Leetcode의 Letter Combinations of a Phone Number 문제를 풀어보도록 하겠습니다. 문제전화기의 키패드를 나타내는 2와 9 사이의 숫자로 이루어진 문자열이 주어졌을 때, 이 문자열로 표현할 수 있는 가능한 모든 글자의 조합을 구하라. 예를 들면, 입력으로 23을 들어오면 ["ad", "ae&quo

[알고리즘] Container With Most Water

Leetcode의 Container With Most Water 문제를 풀어보도록 하겠습니다. 문제물의 높이를 나타내는 양의 정수로 이뤄진 배열이 주어졌을 때, 두개의 높이로 만들 수 있는 수조의 최대 넓이를 구하라.단, 배열은 최소 2개의 원소로 구성되어 있고 수조를 기울일 수 없다. 예제 입력: [1,8,6,2,5,4,8,3,7] 출력: 49 2번째

[알고리즘] Longest Palindromic Substring

Leetcode의 Longest Palindromic Substring 문제를 풀어보도록 하겠습니다. 문제주어진 문자열에서 가장 긴 회문(palindrome)을 찾아라. 문자열이 최대 길이는 1000이라고 가정한다. 예제 입력: “babad” => 출력: “bab” 또는 “aba” 입력: “cbbd” => 출력: “bb” 풀이회문(palin

[알고리즘] Longest Substring Without Repeating Characters

Leetcode의 Longest Substring Without Repeating Characters 문제를 풀어보도록 하겠습니다. 문제문자열이 주어졌을 때 중복되는 문자를 포함하지 않는 가장 긴 구간의 길이를 구하라. 예제 입력: “abcabcbb”, 출력: 3 입력: “bbbbb”, 출력: 1 입력: “pwwkew”, 출력: 3 마지막 예제의

[알고리즘] Add Two Numbers

Leetcode의 Two Sum 문제를 풀어보도록 하겠습니다. 문제양의 정수를 나타내는 두 개의 비어있지 않은 링크드 리스트가 주어졌다.각 노드는 1자리 숫자(0…9)를 담고 있고 숫자들은 역순으로 저장되어 있다.이 링크드 리스트에 저장되어 있는 두 개의 수를 더한 값을 링크드 리스트에 역순으로 저장하여 반환하라.숫자 0을 제외하고는 두개의 수 앞에는 위치

[알고리즘] Next Permutation

Leetcode의 Next Permutation 문제를 풀어보도록 하겠습니다. 문제숫자 배열이 주어졌을 때, 배열 내의 숫자를 재배열하여 다음으로 큰 순열을 만들어내는 로직을 구현하라.가장 커서 다음으로 큰 순열이 없는 경우, 가장 작은 순열이 다음으로 큰 순열이 된다.상수 크기의 추가 메모리만을 사용해야 하고 배열 내에서(in place) 재배열을 해야한