컴퓨터공학 & 정보통신84 [선형대수] 핵, 퇴역 공간과 퇴화차수 , 치역, 치역 공간과 계수 벡터 공간 V, W에 대하여 T : V -> W은 선형 변환이다. 이때.. 핵, 퇴역 공간, 퇴화차수 핵(퇴역 공간) : T(v) = 0, 선형 변환을 통해 결과가 0이 되는 벡터의 집합 퇴화 차수 : 핵의 차원 치역, 치역 공간, 계수 치역(치역 공간) : 해당 선형 변환을 통해 나올 수 있는 모든 경우의 집합 계수 : 치역의 차원 2023. 4. 24. [컴퓨터그래픽스] 히스토그램 평활화 vs 명암 대비 스트레칭 둘 다 기존 이미지 명암을 개선하기 위해 사용하는 이미지 처리 기법인데, 두 기법의 차이는 무엇인가요? 유투브에서 이해하기 좋은 내용을 보고 블로그 글로 작성합니다. 히스토그램 평활화 (Histogram Equalization) 기존 영상의 명암 값 분포를 재분배하여 일정한 분포(주로 정규분포)를 가진 새 히스토그램을 생성합니다. 평활화 단계 1. 입력 영상의 히스토그램 생성 2. 빈도수의 누적값 계산 3. 누적값 정규화 (N은 전체 픽셀 수 입니다.) 4. 정규화한 값을 통해 영상 생성 명암 대비 스트레칭 (Contrast stretching) 기존 영상의 분포 형태를 유지하되, 최댓값과 최솟값을 활용하여 스트레칭합니다. 주로 중앙에 빈도수가 몰려있는 영상을 처리할 때 유용한 기법입니다. 계산 두 기법.. 2023. 4. 19. [프로그래머스] 게임 맵 최단거리 접근 DFS 또는 BFS로 풀 수 있지만 DFS로 풀었다가는 TLE에 걸릴 수 있다는 점에 명심해야 한다. 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/1844 솔루션 def solution(maps): ROW_length = len(maps) COL_length = len(maps[0]) visited = [[False for _ in range(COL_length)] for _ in range(ROW_length)] queue = [[0,0,1]] while queue: ROW, COL, DIST = queue.pop(0) # 조건에 맞지 않는 경우는 모두 추가 탐색하지 않습니다. if ROW ROW_leng.. 2023. 4. 16. [프로그래머스] 달리기 경주 접근 처음에 O(N^2)로 솔루션을 작성했지만 당연히 TLE 해시 자료구조를 사용하여 문제를 O(N)으로 풀어야 한다. 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/178871 솔루션 def solution(players, callings): Hash = {} for index, value in enumerate(players): Hash[value] = index for index, value in enumerate(callings): rank = Hash[value] # swap in players players[rank-1], players[rank] = players[rank], players[rank-1] # swap rank.. 2023. 4. 15. [LeetCode] 71. Simplify Path 접근 stack과 array 탐색을 통해 문제를 해결해야 함을 알았으나 코드를 논리적으로 짜지 못하였음. 효율적인 로직을 짜는 것에 대한 훈련이 필요해 보임 문제 링크 Simplify Path - LeetCode 솔루션 class Solution: def simplifyPath(self, path: str) -> str: stack = [] word = "" for char in path + "/": if char == "/": # if .. -> delete lastest stack if word == "..": if stack: stack.pop() # if none of them and not an empty word, add stack elif word != "" and word != ".": s.. 2023. 4. 12. [LeetCode] 139. Word Break 접근 완전탐색이 아닌 DP로 풀어야 하는 문제 DP[0]에 도달하여 True를 리턴하면 되기에 Bottom-up 방식으로 문제를 풀 수 있다. DP 리스트 길이를 s의 길이보다 하나 더 길게 설계하여 부드러운 솔루션을 작성해야 함 문제 링크 https://leetcode.com/problems/word-break/description/ 솔루션 class Solution: def wordBreak(self, s: str, wordDict: List[str]) -> bool: s_length = len(s) DP = [False for _ in range(s_length+1)] DP[s_length] = True for i in range(s_length-1, -1, -1): for word in wordD.. 2023. 4. 10. 이전 1 ··· 6 7 8 9 10 11 12 ··· 14 다음