하루에 1문제씩 풀기.
한 문제당 30분씩은 고민하기.
왜 그렇게 풀었는지 공유하기.
하루라도 놓친다면 벌금은 1,000원
백준 플래티넘, 프로그래머스 4단계, 개발자 탈퇴 시 모임 탈퇴 가능
[3코1파] 2023.01.04~ (135일차)
[4코1파] 2023.01.13~ (126일차)
[1스4코1파] 2023.04.12~ (37일차)
[1스4코2파] 2023.05.03 ~ (16일차)
2023.05.18 [135일차]
LeetCode Algorithm Day 11
Combinations
https://leetcode.com/problems/combinations/?envType=study-plan&id=algorithm-i
Permutations
https://leetcode.com/problems/permutations/?envType=study-plan&id=algorithm-i
Letter Case Permutation
https://leetcode.com/problems/letter-case-permutation/?envType=study-plan&id=algorithm-i
[77] Combinations
https://leetcode.com/problems/combinations/?envType=study-plan&id=algorithm-i
내 코드
class Solution:
def combine(self, n: int, k: int):
return [list(com) for com in combinations(range(1, n+1),k)]
문제 풀이 방법
? itertools 모듈의 combinations 쓰면 끝
그래도 category가 backtracking 이라서 backtracking을 써서 구현한 다른 새럼 코드는 이거 ~!
증빙
[46] Permutations
https://leetcode.com/problems/permutations/?envType=study-plan&id=algorithm-i
내 코드
from itertools import permutations
class Solution:
def permute(self, nums: list[int]):
return [list(per) for per in permutations(nums, len(nums))]
문제 풀이 방법
이것도 itertools의 permutations 쓰면 끝...
모듈 안쓰고 쓰는 방법을 Backtracking으로 푼다면
증빙
[206] Reverse Linked List
내 코드
class Solution:
def letterCasePermutation(self, s: str):
answer = ['']
for string in s:
if string.isalpha():
answer = [i+j for i in answer for j in [string.upper(), string.lower()]]
else:
answer = [i+string for i in answer]
return answer
문제 풀이 방법
임시 리스트를 미리 만들고,
string 문자열을 돌면서 isalpha 메서드를 사용해서
맞으면 기존에 있던 문자열과 현재 시점의 알파벳 문자열을 대문자, 소문자 한 것을 붙여서 리스트에 넣고 아니면 그대로 넣어서 패스하는 형식으로 return
증빙
여담
하루에 3문제는 쫌..