본문 바로가기

Computer

(119)
[Baekjoon] 백준 21736 '헌내기는 친구가 필요해' 문제풀이 Python, 파이썬, 알고리즘 정리 📝 21736 문제 입력 출력 첫째 줄에 도연이가 만날 수 있는 사람의 수를 출력한다. 단, 아무도 만나지 못한 경우 TT를 출력한다. 🧐 풀이 위의 문제는 그래프 문제이다. 캠퍼스의 크기 NxM을 입력 받고, 캠퍼스 정보가 주어진다. 먼저 정보를 입력 받으면서 도연이가 있는 곳을 찾아야 한다. 'I' 가 나온 곳을 찾고, 그 위치를 start로 한다. 그리고 벽이 아니고, 방문하지 않으며 'P'인 경우에는 cnt를 증가시키고, 'X'인 경우에는 가지 못하니 다시 탐색을 해야한다. cnt가 0이 아니라면 'TT'를 출력한다. import sys input = sys.stdin.readline sys.setrecursionlimit(10**6) N, M = map(int, input().split()) c..
[Baekjoon] 백준 2644 '촌수 계산' 문제풀이 Python, 파이썬, 알고리즘 정리 📝 2644 문제 우리 나라는 가족 혹은 친척들 사이의 관계를 촌수라는 단위로 표현하는 독특한 문화를 가지고 있다. 이러한 촌수는 다음과 같은 방식으로 계산된다. 기본적으로 부모와 자식 사이를 1촌으로 정의하고 이로부터 사람들 간의 촌수를 계산한다. 예를 들면 나와 아버지, 아버지와 할아버지는 각각 1촌으로 나와 할아버지는 2촌이 되고, 아버지 형제들과 할아버지는 1촌, 나와 아버지 형제들과는 3촌이 된다. 여러 사람들에 대한 부모 자식들 간의 관계가 주어졌을 때, 주어진 두 사람의 촌수를 계산하는 프로그램을 작성하시오. 입력 사람들은 1, 2, 3, …, n (1 ≤ n ≤ 100)의 연속된 번호로 각각 표시된다. 입력 파일의 첫째 줄에는 전체 사람의 수 n이 주어지고, 둘째 줄에는 촌수를 계산해야 하..
컴퓨터 비전 영상처리 - 에지 검출 (디지털 영상의 미분, 계단 에지, 램프 에지, 스무딩 기법, 소벨 연산자, 영교차 찾기) 영상처리에서 에지란? 영상의 명암, 컬러, 또는 텍스처와 같은 특성이 급격히 변하는 지점이다. 에지는 '테두리' 라는 뜻을 가지며 물체의 '경계'를 표시해 준다. 매칭에 용이한 선분이나 곡선으로 변환이 가능하다. 에지의 한계 실종된 에지(거짓 부정)와 거짓 에지(거짓 긍정)가 발생한다. 디지털 영상의 미분 1차원 수학에서 변화를 측정하는 기초 이론은 미분이다. 연속 공간에서의 미분은 도함수를 구할 수 있는데, x값이 미세하게 증가했을 때 연속 함수가 어떻게 변화하는지를 측정해준다. 하지만 컴퓨터 비전이 다루는 디지털 영상은 이산 공간에서 정의된다. 따라서 이산 공간에서 도함수를 근사화하는 방법을 고안해야 한다. 위의 f'(x) 식을 보면 마스크[-1][1]로 영상 f를 컨볼루션 하는 것과 같다. 3-2의..
Progammers 프로그래머스 - [타겟 넘버] Python 파이썬 풀이 https://school.programmers.co.kr/learn/courses/30/lessons/43165 📝 문제 n개의 음이 아닌 정수들이 있습니다. 이 정수들을 순서를 바꾸지 않고 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+1 = 3 +1+1-1+1+1 = 3 +1+1+1-1+1 = 3 +1+1+1+1-1 = 3 사용할 수 있는 숫자가 담긴 배열 numbers, 타겟 넘버 target이 매개변수로 주어질 때 숫자를 적절히 더하고 빼서 타겟 넘버를 만드는 방법의 수를 return 하도록 solution 함수를 작성해주세요. 🚫 제한 사항 ✏️ 입출..
Union-find 알고리즘 (Disjoint Set), 서로소 집합 Disjoint Set이란? 서로 중복되지 않은 부분 집합들로 나누어진 원소들에 대한 정보를 저장하고 조작하는 자료구조이다. 상호 배타적인 부분 집합들로 나눠진 원소들에 대한 자료구조라고 생각하면 된다. 흔히 서로소 집합 자료구조 라고도 한다. Union-Find 란? Union-Find는 서로소 집합을 표현할 때 사용하는 알고리즘이다. 집합을 표현하는 방법으로는 배열, 연결리스트 등을 이용할 수 있다. 그 중 가장 효율적인 트리 구조를 이용하여 구현한다. 보통 MST의 크루스칼 알고리즘에서 사용된다. 트리를 이용한 집합의 처리 - 같은 집합의 원소들은 하나의 트리로 관리한다. (자식 노드가 부모 노드를 가리킴) - 트리의 루트를 집합의 대표 원소로 삼는다. Union-Find 연산 Make-Set(x)..
[Baekjoon] 백준 1339 '단어 수학' 문제풀이 Python, 파이썬, 알고리즘 정리 📝 1339 문제 민식이는 수학학원에서 단어 수학 문제를 푸는 숙제를 받았다. 단어 수학 문제는 N개의 단어로 이루어져 있으며, 각 단어는 알파벳 대문자로만 이루어져 있다. 이때, 각 알파벳 대문자를 0부터 9까지의 숫자 중 하나로 바꿔서 N개의 수를 합하는 문제이다. 같은 알파벳은 같은 숫자로 바꿔야 하며, 두 개 이상의 알파벳이 같은 숫자로 바뀌어지면 안 된다. 예를 들어, GCF + ACDEB를 계산한다고 할 때, A = 9, B = 4, C = 8, D = 6, E = 5, F = 3, G = 7로 결정한다면, 두 수의 합은 99437이 되어서 최대가 될 것이다. N개의 단어가 주어졌을 때, 그 수의 합을 최대로 만드는 프로그램을 작성하시오. 입력 첫째 줄에 단어의 개수 N(1 ≤ N ≤ 10)이..

728x90