본문 바로가기

두두의 알고리즘

(145)
[동적계획법] 릿코드 Easy 70 'Climbing Stairs' (Python) https://leetcode.com/problems/climbing-stairs/ Climbing Stairs - 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 climbStairs(self, n: int) -> int: answer = [] answer.append(1) answer.append(2) for i in range(2,n): answer.appen..
[비트연산] 릿코드 Easy 190 'Reverse Bits' (Python) https://leetcode.com/problems/reverse-bits/ Reverse Bits - 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 n은 정수형으로 들어오기 때문에 binary로 바꿔줌. binary로 바꾸면 맨 앞에 0b가 붙으므로 제거해줌 2진수는 32bit의 길이를 유지해야하므로 zfill함수를 이용해 맨 앞에 0을 붙여줌 1을 가진 자리는 2의 지수만큼 곱해줌 class Solution: def reverseBits(self, n: i..
[비트연산] 릿코드 Easy 191 'Number of 1 Bits' (Python) https://leetcode.com/problems/number-of-1-bits/ Number of 1 Bits - 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 정수로 들어온 값을 2진수로 바꿔주고 1의 개수를 센다 class Solution: def hammingWeight(self, n: int) -> int: return str(bin(n)).count('1')
[동적계획법] 릿코드 Medium 120 'Triangle' (Python) https://leetcode.com/problems/triangle/ Triangle - 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 삼각형의 꼭대기에서 바닥까지의 합을 구하는 것이므로, 아래 칸으로 이동할 때 윗 칸의 숫자를 더해준다. 삼각형의 왼쪽 변의 숫자는 항상 왼쪽 숫자를 더하고, 오른쪽 변의 숫자는 항상 오른쪽 숫자를 더한다. 삼각형의 가운데 숫자들은 자신의 위의 숫자 2개에서 작은 값을 더하면 된다. 숫자를 다 더한 바닥의 숫자들 중 최솟값을 반..
[BFS] 릿코드 Medium 695 'Max Area of Island' (Python) https://leetcode.com/problems/max-area-of-island/ Max Area of Island - 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이 연결된 면적 구하기 최대 면적 구하기 class Solution: def maxAreaOfIsland(self, grid: List[List[int]]) -> int: tmp = 0 answer = 0 dx = [-1,0,1,0] dy = [0,-1,0,1] for x in ..
[BFS] 릿코드 Easy 733 'Flood Fill' (Python) https://leetcode.com/problems/flood-fill/ Flood Fill - 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 주어진 image [sr][sc]에서 위, 아래, 왼쪽, 오른쪽에 있는 값이 처음 image [sr][sc]와 동일하면 newColor로 변경한다. 변경한 값의 위, 아래, 왼쪽, 오른쪽 값도 변경한다. (반복) class Solution: def floodFill(self, image: List[List[int]], ..
[기타] 릿코드 Easy 557 'Reverse Words in a String III' (Python) https://leetcode.com/problems/reverse-words-in-a-string-iii/ Reverse Words in a String III - 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 reverseWords(self, s: str) -> str: answer = '' for i in s.split(): answer += (i[::-1] + '..
[기타] 릿코드 Easy 344 'Reverse String' (Python) https://leetcode.com/problems/reverse-string/ Reverse String - 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 reverseString(self, s: List[str]) -> None: """ Do not return anything, modify s in-place instead. """ for i in range(len(..

LIST