끄적끄적 코딩
article thumbnail
[C++] 백준 12845번 모두의 마블
알고리즘 2019. 11. 24. 01:53

인접한 카드를 합쳐서 가장 많이 흭득할 수 있는 골드를 출력하는 문제입니다. 골드는 합치는 카드들의 레벨의 합만큼 받습니다. 가장 레벨이 큰 카드를 기준으로 오른쪽과 왼쪽을 확인해서 더 큰 값을 합치고 그 값을 누적해서 결과를 얻어냈습니다. #include #include #include #include #include #include using namespace std; int main(int argc, char* argv[]) { int n; int a, b; int right, left; int higherLevel = 0; int index = 0; int score = 0; vector v; cin >> n; for (int i = 0; i > a; v.push_b..

article thumbnail
[C++] 백준 1449번 수리공 항승
알고리즘 2019. 11. 23. 13:07

파이프를 수리하는데 몇개의 테이프가 필요한지 찾는 문제입니다. 1. 정렬 2. 물이나오는 위치에 테이프 길이만큼 붙임 3. 테이프가 안 붙어있고 물이 새는 다음 위치로 이동 4. 2, 3번 반복 5. 반복횟수 출력 #include #include #include #include #include #include using namespace std; int main(int argc, char* argv[]) { int i; int n, l; int num; int count; int water[1001]; cin >> n >> l; for (int i = 0; i > water[i]; } sort(water, water + n); i = 0; count = 0; while (1..

article thumbnail
[C++] 백준 1969번 DNA
알고리즘 2019. 11. 23. 12:19

그리디 문제입니다. 문자열과 가장 많이 일치하는 문장을 만들고 각 문자들과 비교해서 다른 글자가 몇개인지 찾는 문제입니다. 각 문자의 n번째에서 어떤 문자가 가장 큰지 찾아서 그 문자들을 전부 합친 문자가 가장 많이 일치하는 dna가 됩니다. 그리고 dna와 각 문자를 비교해서 다를 때마다 카운트를 해서 출력해주었습니다. #include #include #include #include #include #include using namespace std; int main(int argc, char* argv[]) { int n, m; int index; int count = 0; int maxAlph; int maxIndex; int check[26]; string s; string dna = ""; ve..

article thumbnail
[C++] 백준 4796번 캠핑
알고리즘 2019. 11. 23. 02:46

연속하는 P일에서 L일만 사용할 수 있을 때 V일 동안 최대 몇일을 사용할 수 있는지 구하는 문제입니다. 다음을 공식으로 구했습니다. result = (c / b) * a; result += c % b > a ? a : c % b; #include #include #include #include #include using namespace std; int main(int argc, char* argv[]) { int a, b, c; int result; int i = 1; while (1) { result = 0; cin >> a >> b >> c; if (a == 0 && b == 0 && c == 0) { break; } result = (c / b) * a; result += c % b > a ? ..

article thumbnail
[C++] 백준 1946번 신입 사원
알고리즘 2019. 11. 23. 02:34

신입사원을 뽑는데 서류심사 성적과 면접 성적 두개의 순위가 주어집니다. 다른 사원보다 둘다 낮은 경우가 있다면 뽑히지 못합니다. 최종 선발 가능한 신입사원의 수를 구하여야 합니다. 서류심사 성적으로 정렬을 한 다음 1등의 면접 성적을 기준으로 2등부터 차례대로 비교합니다. 면접 성적 등수가 1등보다 낮으면 둘다 낮은 경우이므로 패스하고 높으면은 카운트를 증가시키고, 비교하는 등수를 현재의 등수로 지정해서 비교를 계속합니다. #include #include #include #include #include using namespace std; int main(int argc, char* argv[]) { int ts; int n; int num; int count; pair p[100010]; cin >> ..

article thumbnail
[C++] 백준 11000번 강의실 배정
알고리즘 2019. 11. 23. 02:06

여러가지 수업이 각 시간마다 주어졌을 때 최소 몇개의 강의실이 필요한지 찾는 문제입니다. 시작시간을 기준으로 정렬을 해주고 차례대로 확인을 합니다. 시작부분을 우선순위 큐(pq)에 넣어줍니다. pq의 값 가장 빨리 끝나는 강의실에 넣을 수 있으면 현재 시작위치를 넣을 수 있으면 그 pq를 갱신해줍니다. 만약 넣지 못한다면 pq를 하나 더 만들어주는 식으로 진행합니다. #include #include #include #include #include using namespace std; int main(int argc, char* argv[]) { int n; pair p[200001]; priority_queue pq; cin >> n; for (int i = 0; i > p..

article thumbnail
[디지털 영상처리] 화소 영역 처리
디지털 영상처리 2019. 11. 22. 01:35

화소 영역 처리 화소의 원값이나 위치를 바탕을 화소 값을 변경하는 화소의 점 처리와 달리 해당 입력 화소뿐만 아니라 그 주위의 화소 값도 함께 고려하는 공간 영역 연산을 의미합니다. 회선 기법으로 수행하므로, 화소의 영역 처리를 회선 처리 또는 컨벌루션 처리라고 합니다. 원시 화소와 이웃한 각 화소에 가중치를 곱한 합을 출력 화소로 생성합니다. Output_pixel[x, y]: 회선 처리로 출력한 화소 I[m, n]: 입력 영상의 화소 M[m, n]: 입력 영상의 화소에 대응하는 가중치 엠보싱 효과 입력 영상을 양각 형태로 보이게 하는 기술 블러링 영상의 세밀한 부분을 제거하여 영상을 흐리게 하거나 부드럽게 하는 기술 영상의 세밀한 부분은 주파수 축에서 보면 고주파 성분인데, 블러링은 이 고주파 성분을..

article thumbnail
[디지털 영상처리] 히스토그램을 이용한 화소 점 처리 (4)
디지털 영상처리 2019. 11. 22. 01:11

디지털 히스토그램 관찰한 데이터의 특징을 한눈에 알아볼 수 있도록 데이터를 막대그래프 모양으로 나타낸 것 산술연산 덧셈연산 : 명도 값을 증가시켜 밝게 하며, 히스토그램의 기둥이 오른쪽으로 이동합니다. 뺄셈연산 : 명도 값을 감소시켜 어둡게 하며, 히스토그램의 기둥이 왼쪽으로 이동합니다. 곱셈연산 : 명암 대비가 증가하여 히스토그램은 기둥의 부포 범위가 넓어집니다. 나눗셈 연산 : 명암 대비가 감소하여 히스토그램의 분포 범위가 좁아집니다. 히스토그램 스트레칭 명암 대비를 향상시키는 연산으로, 낮은 명암 대비를 보이는 영상의 화질을 향상시키는 방법 히스토그램이 모든 범위의 화소 값을 포함하도록 히스토그램의 분포를 넓힙니다. 기본 명암 대비 스트레칭 이상적이지 못한 히스토그램 분포 중에서 명암 대비가 낮은 ..

검색 태그