Python 51

[Python] 리트코드 1850 : Minimum Adjacent Swaps to Reach the Kth Smallest Number (String)

https://leetcode.com/problems/minimum-adjacent-swaps-to-reach-the-kth-smallest-number/ Minimum Adjacent Swaps to Reach the Kth Smallest Number - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com ==문제== num이 주어질 때 그 num을 구성하는 숫자들로 만들 수 있는 num보다 큰 숫자들을 wonderful 하다고 말한다. 그 wonderful in..

알고리즘 2021.07.03

[Python] 리트코드1556 : Thousand Separator (String)

https://leetcode.com/problems/thousand-separator/ Thousand Separator - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com ==문제== 천 단위마다 콤마(,)가 아닌 온점(.)을 찍어주면 된다. ==코드== class Solution: def thousandSeparator(self, n: int) -> str: n = str(n) length = len(n) if length

알고리즘 2021.07.01

[Python] 리트코드 43 : Multiply Strings (String)

https://leetcode.com/problems/multiply-strings/ Multiply Strings - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com ==문제== 스트링 타입인 두 숫자를 곱해서 결과를 스트링으로 반환 ==접근방법== 파이썬 내장함수 Int()를 쓰면 아주 간단하게 풀 수 있지만 직접 타입을 변환하지 말라고 문제에 적혀 있다. 아스키 코드를 이용해서 (각 숫자의 아스키코드 번호) - (0의 아스키코드 번호)를 해주면 int()를 ..

알고리즘 2021.06.22

[Python] 리트코드 1402 : Reducing Dishes (DP)

https://leetcode.com/problems/reducing-dishes/ Reducing Dishes - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com ==문제== 셰프가 가지고 있는 접시 별로 손님들이 느끼는 만족도가 저장된 리스트 satisfaction이 있다. 이 접시들 중 어떤 걸 사용할지 정할 건데 접시가 배치된 순서에 따라 총만족도가 결정된다. 뒤에 위치한 접시일수록 높은 계수를 부여받아 높은 만족도를 달성할 수 있다. 예를 들어 만족도가 ..

알고리즘 2021.06.18

[Python] 리트코드 983 : Minimum Cost For Tickets (DP)

https://leetcode.com/problems/minimum-cost-for-tickets/submissions/ Minimum Cost For Tickets - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com ==문제== days에 365일 중에 어떤 날짜에 여행할지 저장되어있다. 여행 티켓은 1일권, 7일권, 30일권 세 종류가 있는데 이 가격 정보는 costs에 차례로 들어있다. 어떤 날짜에 며칠권을 사야 가장 적은 돈으로 여행을 할 수 있는지 묻는 ..

알고리즘 2021.06.18

[Python] 리트코드 877 : Stone Game (DP)

https://leetcode.com/problems/stone-game/submissions/ Stone Game - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 짝수개의 돌무더기가 있을 때 Alex와 Lee가 한 무더기씩 번갈아가면서 가져갈 것이다. 양쪽 끝에 있는 돌무더기만 가져갈 수 있을 때 Alex가 이길 수 있으면 True를 반환한다. piles의 첫 번째를 piles[i]라고 하고 끝을 piles[j]라고 할 때 piles[i, i+1, i+2, ..

알고리즘 2021.06.16

[Python] 리트코드 1025 : Divisor Game (DP)

https://leetcode.com/problems/divisor-game/ Divisor Game - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com Alice와 Bob이 게임을 할 건데 Alice가 이길 수 있다면 True를 반환한다. --규칙-- n이 주어졌을 때 n의 약수인 x를 고른다. n-x를 한 숫자가 다음 턴의 새로운 n이 된다. 이 과정을 반복해서 더 이상 제시할 x가 없다면 패배 result 리스트를 만들어서 result[1]~result[n]..

알고리즘 2021.06.16

[Python] 리트코드 78 : Subsets (Array)

https://leetcode.com/problems/subsets/ Subsets - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 주어진 배열로 나올 수 있는 모든 부분집합을 반환하는 문제이다. [1,2,3]이 주어졌다면 [[], [1], [2], [1,2], [3], [1,3], [2,3], [1,2,3]]이 나오면 된다. 처음에 문제를 보고서 역추적을 사용해야 하는 건지 고민했는데 문제 카테고리가 array인걸 떠올리고 복잡하게 생각하지 않아야겠다고 생각..

알고리즘 2021.06.10

[Python] 리트코드 1470 : Shuffle the Array (Array)

https://leetcode.com/problems/shuffle-the-array/ Shuffle the Array - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 주어진 nums배열에서 0부터 n씩 건너뛰면서 숫자를 골라 새로운 배열을 만들어내면 된다. nums=[0,1,2,3,4,5], n=3이라면 nums[0]인 0이 새 배열의 첫 번째가 되고 3칸 뒤인 3이 두 번째가 된다. 3의 3칸 뒤는 배열을 한 바퀴 돌아서 0이 되야하는데 0은 이미 새 배열..

알고리즘 2021.06.08

[Python] 리트코드 941 : Valid Mountain Array (Array)

https://leetcode.com/problems/valid-mountain-array/ Valid Mountain Array - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 등산하는 것처럼 배열의 정점까지 숫자가 계속 증가했다가 이후에 계속 감소하는 경우에 True를, 이외의 경우엔 False를 반환한다. class Solution: def validMountainArray(self, arr: List[int]) -> bool: maxNum = max(a..

알고리즘 2021.06.05