본문 바로가기
반응형

알고리즘211

[알고리즘] Valid Triangle Number 포인트 규칙을 만족하기 위한 세 수 갯수를 세는 문제 해결 입니다. 일반적인 해결 방법은 for loop 를 3번만 한다면, 해결할 수 있는 조건 입니다. 하지만, 이 경우 시간 초과를 경험할 수 있습니다. 이를 해결하기 위해서는 다른 방법으로 접근을 해야 하는데 이를 해결할 수 있는 것이 투 포인터 알고리즘 입니다. 이 문제와 접근 방식의 문제인 3sum 도 확인하시면 좋을 것 같습니다. https://leetcode.com/problems/valid-triangle-number/ Valid Triangle Number - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your kn.. 2021. 7. 15.
[알고리즘] Custom Sort String 이 글을 읽어주신 모든 분들 감사합니다. 간단하게 시작한 기술 블로그가 많은 분들에게 읽힐 줄은 몰랐습니다. 더 좋은 글이 나올 수 있도록 잘 작성하도록 노력하겠습니다. 포인트 이 문제는 원 데이터에서 순서가 주어진 문자열이 있을 때, 이 순서로 정렬을 할 수 있는가? 입니다. 단, 순서 문자열안에 포함되어 있지 않는 문자의 경우 어느 곳이든 둘 수 있습니다. 파이썬은 문자열을 처리하는데에 있어서 가장 심플하게 구현할 수 있었습니다. 저는 a, b 로 나누어 주어진 문자가 순서 문자열에 있는 경우와 없는 경우는 나누었고 순서가 주어진 문자열의 경우 우선순위 딕셔너리를 만들어 인덱스 순으로 저장한 뒤 이를 토대로 정렬을 하도록 구현하였습니다. 🧶문서는 항상 수정될 수 있습니다. 비판은 환영합니다. pyth.. 2021. 7. 15.
[알고리즘] Arrays: Left Rotation 포인트 배열을 회전하는 방법을 보여 줍니다. 배열을 회전하는 방법에 대해서 해석이 필요하다. 길이를 전체적인 길이로 나누어서 1번 최적화를 하기 슬라이싱 구간을 바꾸어서 반복문 형태가 아닌 바로 슬라이싱을 해서 대입하는 방법으로 진행하였습니다. 🧶문서는 항상 수정될 수 있습니다. 비판은 환영합니다. python def rotLeft(a, d): # Write your code here d = d % len(a) return a[d:] + a[:d] 너무나 간단한 것 2021. 7. 5.
[알고리즘] Candy 포인트 그리디 알고리즘을 잘 알고 있는가? 처음에는 브루트포스 접근으로 생각을 하였다. 하지만, 제한 조건이 2*10^4 이었고 아룰 n^2 이상으로 넘어갈 경우는 제대로 해결하지 못할 것으로 예상을 하여 다른 방식으로 해결하였다. 바로 그리디 방식으로 해결을 하는 것이다. for loop를 같은 깊이에서 여러 번 함으로 최대 O(n) 임으로 제한 시간안에 만족할 것으로 판단하였다. 🧶문서는 항상 수정될 수 있습니다. 비판은 환영합니다. python class Solution: def candy(self, ratings: List[int]) -> int: left_right = [1] * len(ratings) right_left = [1] * len(ratings) sum = 0 for i in ran.. 2021. 6. 27.
반응형