브런치를 먹으며, 이진우 교수님의 니체 강의를 듣는 중..
갑자기 브런치 먹고 공원에서 쉬는 것에 행복을 느끼는 사람은 초인이 아니라 마지막 인간이라고 한다.

아들이랑 오후에 공원에 가서 놀려고 했는데ㅋㅋ

"초인이란 자기 자신을 끊임 없이 극복하는 사람이고,
마지막 인간은 메뚜기떼와 같이 내 앞의 행복만 좇는 사람이라고 한다."


https://www.youtube.com/watch?v=91lK2eYKCQA

난 내 자신을 끊임 없이 극복하는 것을 좋아하고,
또 좋은 음악을 들으며 브런치를 먹는 것을 좋아하는데..
굳이 꼭 둘을 나눠야 하는 것인가..?

 

Posted by 공놀이나하여보세
,

바이너리 서치에 대해서 배웠습니다.

생각보다 간단하네요 ㅎㅎ

class Solution:
    def searchInsert(self, nums: List[int], target: int) -> int:
        if not nums:
            return 0
        def search(nums, target, l, r):
            while l <= r:
                m = (l+r)//2
                if nums[m] == target:
                    return m
                if nums[m] < target:
                    l = m+1
                else:
                    r = m-1
            return l
    
        return search(nums, target, 0, len(nums)-1)

Posted by 공놀이나하여보세
,

바이너리 서치 잘 외웠다고 생각했는데,

중간값 계산을 while문 앞에서 해서 고생했습니다. ㅎㅎ

리스트가 비었는지 확인하는 방법은

if not matrix:

가 있는데, 이것 보다

if len(matrix) == 0:

으로 하는게 더 빠르네요 ㅎㅎ

 

class Solution:
    def searchMatrix(self, matrix: List[List[int]], target: int) -> bool:
        def BinarySearch2(target, start, end, matrix, m):
            
            while start <= end:
                n = (start + end) // 2
            
                if matrix[m][n] == target:
                    return True
                elif matrix[m][n] > target:
                    end = n-1
                elif matrix[m][n] < target:
                    start = n + 1
            return False
        
        def BinarySearch(target, start, end, matrix):
            
            while start <= end:
                m = (start + end) // 2
            
                print(start, end, m, matrix[m][0], target)
                if matrix[m][0] == target:
                    return True
                elif matrix[m][0] < target:
                    start = m + 1
                elif matrix[m][0] > target:
                    end = m - 1
                    print(end)
                
            print(start, end)
            return BinarySearch2(target, 0, len(matrix[0])-1, matrix, end)
        
        if len(matrix) == 0:
            return False
        if  len(matrix[0]) == 0:
            return False

        return BinarySearch(target, 0, len(matrix)-1, matrix)

Posted by 공놀이나하여보세
,