PS
-
Problem : https://leetcode.com/problems/maximum-swap/ Difficulty : Medium Status : Solved Time : 00:01:44 문제 설명 더보기정수 num을 입력으로 받는다. 단 한 번 두 자릿수를 교체할 수 있고, 이를 통해 가장 큰 숫자를 만들어야 한다. 얻을 수 있는 가장 큰 숫자를 반환하라. 풀이 우선, 문제 조건이 그렇게 빡빡하지 않아 브루트포스로 풀린다. 단순히 모든 경우를 테스트해서 가장 큰 숫자를 반환하면 된다. 풀이 코드(브루트포스)class Solution: def maximumSwap(self, num: int) -> int: length = len(str(num)) result = num..
670. Maximum SwapProblem : https://leetcode.com/problems/maximum-swap/ Difficulty : Medium Status : Solved Time : 00:01:44 문제 설명 더보기정수 num을 입력으로 받는다. 단 한 번 두 자릿수를 교체할 수 있고, 이를 통해 가장 큰 숫자를 만들어야 한다. 얻을 수 있는 가장 큰 숫자를 반환하라. 풀이 우선, 문제 조건이 그렇게 빡빡하지 않아 브루트포스로 풀린다. 단순히 모든 경우를 테스트해서 가장 큰 숫자를 반환하면 된다. 풀이 코드(브루트포스)class Solution: def maximumSwap(self, num: int) -> int: length = len(str(num)) result = num..
2024.10.18 -
Problem : https://leetcode.com/problems/smallest-range-covering-elements-from-k-lists Difficulty : Hard Status : Solved Time : 00:18:12 문제 설명 더보기k개의 단조증가하는 순서(감소하지 않는 순서)로 정렬된 리스트를 가지고 있다. k개의 리스트 각각의 적어도 하나의 수를 포함하는 가장 작은 범위를 구하여라. 우리는 다음 상황 ( b-a 풀이 쪼오금 마음에 안드는 풀이긴 하지만, 이렇게 풀 수 있다! 를 보려주려고 한다. 슬라이딩 윈도우를 생각해 보자. 이 슬라이딩 윈도우는 가급적 k개 집합의 모든 수를 최소한으로 보유하는 게 목적이다. 즉 다음 기능이 필요하다.숫자와 인덱스 정보를 저장할 큐덱에..
632. Smallest Range Covering Elements from K ListsProblem : https://leetcode.com/problems/smallest-range-covering-elements-from-k-lists Difficulty : Hard Status : Solved Time : 00:18:12 문제 설명 더보기k개의 단조증가하는 순서(감소하지 않는 순서)로 정렬된 리스트를 가지고 있다. k개의 리스트 각각의 적어도 하나의 수를 포함하는 가장 작은 범위를 구하여라. 우리는 다음 상황 ( b-a 풀이 쪼오금 마음에 안드는 풀이긴 하지만, 이렇게 풀 수 있다! 를 보려주려고 한다. 슬라이딩 윈도우를 생각해 보자. 이 슬라이딩 윈도우는 가급적 k개 집합의 모든 수를 최소한으로 보유하는 게 목적이다. 즉 다음 기능이 필요하다.숫자와 인덱스 정보를 저장할 큐덱에..
2024.10.14 -
Problem : Difficulty : Medium Status : Solved Time : 00:31:51 문제 설명 더보기0부터 n-1번까지의 숫자가 매겨진 n명의 친구들의 파티가 있다. 이 파티에는 0부터 무한대까지 숫자가 매겨진 무한대의 의자가 있다. 만약 한 친구가 파티에 도착한다면, 그들은 가장 적은 숫자의 점유되지 않은 의자에 앉는다. * 예를 들어, 한 친구가 왔을 때 0, 1, 5 의자가 점유되었다면 그 친구는 2번 의자에 앉을 것이다. 친구가 파티를 떠날때, 그 친구가 떠나는 순간에 그 친구의 의자는 점유되지 않은 상태가 된다. 만약 다른 친구가 동시에 도착한다면, 그들은 그 의자에 앉을 수 있다. 2차원의 0-인덱스 times 배열과 정수 targetFriend을 입력으로 받는다..
1942. The Number of the Smallest Unoccupied ChairProblem : Difficulty : Medium Status : Solved Time : 00:31:51 문제 설명 더보기0부터 n-1번까지의 숫자가 매겨진 n명의 친구들의 파티가 있다. 이 파티에는 0부터 무한대까지 숫자가 매겨진 무한대의 의자가 있다. 만약 한 친구가 파티에 도착한다면, 그들은 가장 적은 숫자의 점유되지 않은 의자에 앉는다. * 예를 들어, 한 친구가 왔을 때 0, 1, 5 의자가 점유되었다면 그 친구는 2번 의자에 앉을 것이다. 친구가 파티를 떠날때, 그 친구가 떠나는 순간에 그 친구의 의자는 점유되지 않은 상태가 된다. 만약 다른 친구가 동시에 도착한다면, 그들은 그 의자에 앉을 수 있다. 2차원의 0-인덱스 times 배열과 정수 targetFriend을 입력으로 받는다..
2024.10.11 -
Problem : https://leetcode.com/problems/maximum-width-ramp Difficulty : Medium Status : Solved Time : 00:37:55 문제 설명 더보기정수 배열 nums 내의 램프(ramp, 경사면)는 i 정수 배열 nums가 주어질 때 nums 내 램프 중 최대 너비를 구하여라. 만약 램프가 없다면 0을 반환하라. 풀이 풀면서 이게 맞나? 싶었다. 실제로도 시간 및 공간 효율이 하위 5%를 찍는 걸 보면... 더 나은 방식이 있을 것도 같다. nums와 nums의 원래 인덱스를 정렬할텐데, 이 때 정렬 기준은 (숫자의 크기 내림차순, 원래 인덱스 내림차순)이 된다.이제 이 정렬된 nums를 탐색할텐데, 이 때 다음이 성립한다.다음 nu..
962. Maximum Width RampProblem : https://leetcode.com/problems/maximum-width-ramp Difficulty : Medium Status : Solved Time : 00:37:55 문제 설명 더보기정수 배열 nums 내의 램프(ramp, 경사면)는 i 정수 배열 nums가 주어질 때 nums 내 램프 중 최대 너비를 구하여라. 만약 램프가 없다면 0을 반환하라. 풀이 풀면서 이게 맞나? 싶었다. 실제로도 시간 및 공간 효율이 하위 5%를 찍는 걸 보면... 더 나은 방식이 있을 것도 같다. nums와 nums의 원래 인덱스를 정렬할텐데, 이 때 정렬 기준은 (숫자의 크기 내림차순, 원래 인덱스 내림차순)이 된다.이제 이 정렬된 nums를 탐색할텐데, 이 때 다음이 성립한다.다음 nu..
2024.10.10 -
Problem : https://leetcode.com/problems/minimum-add-to-make-parentheses-valid Difficulty : Medium Status : Solved Time : 00:00:32 문제 설명 더보기괄호 문자열은 아래 조건을 만족할 때 유효하다고 한다. * 문자열이 비었거나,* A, B가 유효한 문자열일때 AB의 형태이거나* A가 유효한 문자열일때 (A)의 형태일 때. 괄호 문자열 s가 주어진다. 한 번의 이동에서 문자열의 어떤 부분에 괄호를 하나씩 삽입할 수 있다.* 예를 들어, s="()))"이라면 여는 괄호를 삽입해서 "(()))"로 만들거나 닫는 괄호를 삽입해서 "())))"를 만들 수 있다.s를 유효하게 만드는 최소 이동을 구하여라. 풀이 ....
921. Minimum Add to Make Parentheses ValidProblem : https://leetcode.com/problems/minimum-add-to-make-parentheses-valid Difficulty : Medium Status : Solved Time : 00:00:32 문제 설명 더보기괄호 문자열은 아래 조건을 만족할 때 유효하다고 한다. * 문자열이 비었거나,* A, B가 유효한 문자열일때 AB의 형태이거나* A가 유효한 문자열일때 (A)의 형태일 때. 괄호 문자열 s가 주어진다. 한 번의 이동에서 문자열의 어떤 부분에 괄호를 하나씩 삽입할 수 있다.* 예를 들어, s="()))"이라면 여는 괄호를 삽입해서 "(()))"로 만들거나 닫는 괄호를 삽입해서 "())))"를 만들 수 있다.s를 유효하게 만드는 최소 이동을 구하여라. 풀이 ....
2024.10.09 -
Problem : https://leetcode.com/problems/minimum-number-of-swaps-to-make-the-string-balanced Difficulty : Medium Status : Solved Time : 00:01:09 문제 설명 더보기0-인덱스의 짝수 길이 n의 문자열을 입력으로 받는다. 이 문자열은 정확히 n / 2 개의 여는 대괄호 '['와 닫는 대괄호 ']'로 구성되어 있다. 문자열은 다음 조건을 만족할 때 균형잡혔다고 말할 수 있다. * 문자열이 비었거나,* A, B가 균형잡힌 문자열일때 AB의 형태이거나* C가 균형잡힌 문자열일때 [C]의 형태일 때. 임의의 두 개의 원소를 어떤 개수로든 교환할 수 있다고 할 때, 문자열 s를 균형잡히게 만들 수 있는 ..
1963. Minimum Number of Swaps to Make the String BalancedProblem : https://leetcode.com/problems/minimum-number-of-swaps-to-make-the-string-balanced Difficulty : Medium Status : Solved Time : 00:01:09 문제 설명 더보기0-인덱스의 짝수 길이 n의 문자열을 입력으로 받는다. 이 문자열은 정확히 n / 2 개의 여는 대괄호 '['와 닫는 대괄호 ']'로 구성되어 있다. 문자열은 다음 조건을 만족할 때 균형잡혔다고 말할 수 있다. * 문자열이 비었거나,* A, B가 균형잡힌 문자열일때 AB의 형태이거나* C가 균형잡힌 문자열일때 [C]의 형태일 때. 임의의 두 개의 원소를 어떤 개수로든 교환할 수 있다고 할 때, 문자열 s를 균형잡히게 만들 수 있는 ..
2024.10.09