전체 글 104

이클립스(Eclipse)에서 OpenCV 사용을 위한 환경 구성

더보기 2019.07.24에 작성한 글임 준비물 JDK, Eclipse 등을 이미 설치하였고 환경 구성까지 완료되어있다고 가정함 1. OpenCV 설치 Windows 버전 다운로드: https://opencv.org/releases/ 환경 변수 PATH 추가: {설치 PATH}\opencv\build\x64\vc14(버전에 따라 다름)\bin 2. OpenCV 라이브러리 사용을 위한 설정 (User Libraries에 OpenCV 라이브러리 추가) Windows > Preferences > Java > Build Path > User Libraries에 New를 눌러 라이브러리 이름을 적어줌 해당 폴더에 우측의 Add External JARs를 클릭하여 opencv-xx.jar를 추가함 {설치 PATH}..

[JAVA] 프로그래머스 : 카펫 (코딩테스트 고득점 kit > 완전탐색)

https://programmers.co.kr/learn/courses/30/lessons/42842 코딩테스트 연습 - 카펫 Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다. Leo는 집으로 돌아와서 아까 본 카펫의 노란색과 �� programmers.co.kr 첫 번째 풀이 카펫의 중앙 부분의 가로, 세로 길이를 이용하여 완전 탐색을 이용해 문제를 풀었음 해결 방안 1. 문제에 주어진 input으로 테두리(갈색) 갯수와 중앙(노란색) 갯수를 알 수 있고 이 것을 통해 카페의 전체 total 갯수를 알 수 있다고 생각함 2. 전체 갯수는 (yellow 부분의 가로+2) * (yellow 부분의 세로+2)와 같다..

[JAVA] 프로그래머스 : H-Index (코딩테스트 고득점 kit > 정렬)

https://programmers.co.kr/learn/courses/30/lessons/42747 코딩테스트 연습 - H-Index H-Index는 과학자의 생산성과 영향력을 나타내는 지표입니다. 어느 과학자의 H-Index를 나타내는 값인 h를 구하려고 합니다. 위키백과1에 따르면, H-Index는 다음과 같이 구합니다. 어떤 과학자가 발표 programmers.co.kr 문제 이해부터 설계까지 어려웠음.. (해결은 했으나 나중에 한번 더 풀어봐야할듯) 해결 방안 1. 위의 제시된 문제를 보고 일단 인용횟수를 담은 배열인 citations를 오름차순 정렬해야겠다고 생각했음 => 정렬을 해놓으면 인용된 논문이 h편 이상인 경우를 찾으면 나머지 논문이 h번 이하 인용되어있는지 확인 안해도 되므로 2. ..

[JAVA] 프로그래머스 : 모의고사 (코딩테스트 고득점 kit > 완전탐색)

https://programmers.co.kr/learn/courses/30/lessons/42840 코딩테스트 연습 - 모의고사 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 �� programmers.co.kr 첫 번째 풀이 수포자 3명이 일정하게 문제의 답을 찍으므로 person1, person2, person3 배열로 찍는 답의 순서를 적어줌 그리고 cnt 배열에 수포자 세명의 맞은 문제 갯수를 각각 저장해줌 그 중 가장 많이 맞은 문제 갯수를 찾아 max 변수에 저장해줌 그 후 가장 많이 맞은 문제 갯수와 수포자들의 맞은 문제 갯수를 비교하여 같은 경우 Ar..

[JAVA] 프로그래머스 : k번째수 (코딩테스트 고득점 kit > 정렬)

https://programmers.co.kr/learn/courses/30/lessons/42748 코딩테스트 연습 - K번째수 [1, 5, 2, 6, 3, 7, 4] [[2, 5, 3], [4, 4, 1], [1, 7, 3]] [5, 6, 3] programmers.co.kr 첫 번째 풀이 문제 설명에 나온 순서대로 구현하면 되는 문제임 코드 import java.util.*; // k번째 수 class Solution { public int[] solution(int[] array, int[][] commands) { int[] answer = new int[commands.length]; int[] temp; // array 있고 // commands에 [i, j, k] 여러개 int i, j, ..

[JAVA] 프로그래머스 : 콜라츠 추측

https://programmers.co.kr/learn/courses/30/lessons/12943 코딩테스트 연습 - 콜라츠 추측 1937년 Collatz란 사람에 의해 제기된 이 추측은, 주어진 수가 1이 될때까지 다음 작업을 반복하면, 모든 수를 1로 만들 수 있다는 추측입니다. 작업은 다음과 같습니다. 1-1. 입력된 수가 짝수라면 2�� programmers.co.kr 주어진 num값이 int 형이므로 범위가 초과할수 있어 long으로 변환 후 알고리즘 구현함 import java.util.*; // 콜라츠 추측 class Solution { public int solution(int num) { int answer = 0; long n = num; while(n != 1){ // 홀수 if(..

[JAVA] 프로그래머스 : 자릿수 더하기

https://programmers.co.kr/learn/courses/30/lessons/12931 코딩테스트 연습 - 자릿수 더하기 자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요. 예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다. 제한사항 N의 범위 : 100,000,000 이하의 자연수 입출 programmers.co.kr 여러 자료형 변환으로 문제를 해결하였음 import java.util.*; // 자릿수 더하기 public class Solution { public int solution(int n) { int answer = 0; String stringN = Integer.toString(n); S..

[JAVA] 프로그래머스 : 이중우선순위큐 (코딩테스트 고득점 kit > 힙(Heap))

https://programmers.co.kr/learn/courses/30/lessons/42628 코딩테스트 연습 - 이중우선순위큐 programmers.co.kr min, max 우선순위 큐 두개를 이용하여 구현함 두 자료구조에 든 자료를 일치시키기 위해 minPQ에서 삭제한 값을 maxPQ에서도 삭제하고 maxPQ에서 삭제한 값을 minPQ에서 삭제하였음 ** 우선순위 큐에서도 List의 remove() 함수를 사용하여 삭제가 가능하였으며 remove("값")을 넣으면 해당 값을 삭제해줌 (PriorityQueue는 Queue 인터페이스를 사용하고 Queue는 List 인터페이스를 사용하므로 List의 remove함수 사용이 가능함) import java.util.*; // 이중우선순위큐 clas..

[JAVA] 프로그래머스 : 라면공장 (코딩테스트 고득점 kit > 힙(Heap))

https://programmers.co.kr/learn/courses/30/lessons/42629 코딩테스트 연습 - 라면공장 라면 공장에서는 하루에 밀가루를 1톤씩 사용합니다. 원래 밀가루를 공급받던 공장의 고장으로 앞으로 k일 이후에야 밀가루를 공급받을 수 있기 때문에 해외 공장에서 밀가루를 수입해야 합니�� programmers.co.kr 우선순위 큐를 이용하여 구현함 공급 물량을 내림차순으로 하여 저장하게 하였음 또한 재고가 부족한 경우에 poll() 해서 더해주도록 함 왜냐하면 결국엔 stock이 다 쓴경우에 채워서 쓰면 최소로 공급 받는 방법이 되기 때문임 추가로 우선순위 큐로 구현하였기 때문에 중간에 필요없이 공급받아야 하는 경우 또한 제외할 수 있음 import java.util.*; ..

[JAVA] 프로그래머스 : 더 맵게 (코딩테스트 고득점 kit > 힙(Heap))

https://programmers.co.kr/learn/courses/30/lessons/42626 코딩테스트 연습 - 더 맵게 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같�� programmers.co.kr 우선순위 큐를 사용하여 구현함 문제에 주어진 과정에 따라 알고리즘을 구현하였음 import java.util.*; // 더 맵게 // 우선순위 큐 사용 class Solution { //10^6 public int solution(int[] scoville, int K) { int answer = 0; PriorityQueue pq = new P..