극동대학교 10

#11 머신러닝

목차 머신러닝동물을 인식하는 SW를 만들어본다고 가정해보자.함수나 모듈을 생성하고 해당 함수로 이미지를 입력 받아, 이미지가 고양이에 속하는지 강아지에 속하는지  정답을 반환하는 프로그램이 필요하다. 하지만 고양이나 강아지의 사진은 조명, 각도, 고양이나 강아지의 자세에 따라서 너무 다르기 때문에 사진으로부터 공통된 명확한 특징을 잡아내는 것이 쉽지 않다. 더불어 프로그램으로 수천 개의 연산을 하는 것과 같은 알고리즘을 만드는 것은 매우 쉽지 않다. 그에 반면, 머신러닝은 데이터로부터 결과를 찾는 것이 아니라 주어진 데이터로부터 규칙성을 찾는 것이 목표이다. 여기서 데이터로부터 규칙성을 찾는 과정을 학습이라고 한다.일단 규칙성을 발견하면(여기서 규칙성이란 머신러닝 모델을 말한다.) 이후에 들어오는 새로운..

#1 빅데이터와 인공지능(머신러닝)

목차 SF영화와 같은 영화를 보다 보면 자율주행차량은 최근 기술 발전에 힘입어 더 이상 상상 속의 기술이 아닌 일상 현실에 자리를 잡고 있다.스스로 주변 환경을 실시간으로 파악하고 차량 스스로 결정을 내려 운행이 가능한 도로를 질주하는 컴퓨터가 되고 있는데...빅데이터와 인공지능의 발전머신러닝이 자동차의 엔진이라면 데이터는 이 엔진에 필요한 연료와 마찬가지다. 데이터는 지난 수년간 저장 장치의 급격한 발전에 따라서 같이 발전했는데... 천공카드와 천공 테이프(19세기 말 ~ 20세기 초) -> 자기 테이프(1950년대) -> 자기 드럼 -> 자기 디스크(1956년 - 현재) -> 플로피 디스크(1971년 -2000년대 초) -> 광학 디스크(1980년대 -현재)-> 반도체 저장장치(1990년대 현재) -..

[프로그래머스, 입문] 세균 증식

목차문제 설명어떤 세균은 1시간에 두배만큼 증식한다고 합니다. 처음 세균의 마리수 n과 경과한 시간 t가 매개변수로 주어질 때 t시간 후 세균의 수를 return하도록 solution 함수를 완성해주세요. import java.util.stream.IntStream;class Solution { public int solution(int n, int t) { int[] count = { n }; IntStream.rangeClosed(1, t) .forEach(hour -> count[0] *= 2); return count[0]; }}------------------------------------..

[프로그래머스, 입문] 숨어있는 숫자의 덧셈(1)

목차문제 설명문자열 my_string이 매개변수로 주어집니다. my_string안의 모든 자연수들의 합을 return하도록 solution 함수를 완성해주세요. class Solution { public int solution(String my_string) { return my_string.chars() .filter(Character::isDigit) // 숫자인 문자만 필터링 .map(Character::getNumericValue) // 각 문자를 정수로 변환 .sum(); // 모든 정수의 합을 계산 }}--------------------------..

[프로그래머스, 입문] 개미 군단

목차문제 설명개미 군단이 사냥을 나가려고 합니다. 개미군단은 사냥감의 체력에 딱 맞는 병력을 데리고 나가려고 합니다. 장군개미는 5의 공격력을, 병정개미는 3의 공격력을 일개미는 1의 공격력을 가지고 있습니다. 예를 들어 체력 23의 여치를 사냥하려고 할 때, 일개미 23마리를 데리고 가도 되지만, 장군개미 네 마리와 병정개미 한 마리를 데리고 간다면 더 적은 병력으로 사냥할 수 있습니다. 사냥감의 체력 hp가 매개변수로 주어질 때, 사냥감의 체력에 딱 맞게 최소한의 병력을 구성하려면 몇 마리의 개미가 필요한지를 return하도록 solution 함수를 완성해주세요. class Solution { public int solution(int hp) { int count = hp / 5; ..

[프로그래머스, 입문] 피자 나눠 먹기(1)

문제 설명머쓱이네 피자가게는 피자를 일곱 조각으로 잘라 줍니다. 피자를 나눠먹을 사람의 수 n이 주어질 때, 모든 사람이 피자를 한 조각 이상 먹기 위해 필요한 피자의 수를 return 하는 solution 함수를 완성해보세요.해결법1명이라면 피자 한 판이 필요하다. (1조각)2명이라도 피자 한 판이면 충분하다. (2조각)7명이라면 피자 한 판으로 충분하다. (7조각)8명이라면 피자 두 판이 필요하다. (8조각, 첫 번째 판에서 7조각 + 두 번째 판에서 1조각)따라서 필요한 피자의 수는 n을 7로 나눈 몫에 1을 더한 값이 된다. (만약 나머지가 있다면)abstract class Pizza { private int n; abstract int getPizza(int n);}class Solu..

[프로그래머스, 입문] 배열 두배 만들기

목차#배열 두배 만들기정수 배열 numbers가 매개변수로 주어집니다. numbers의 각 원소에 두배한 원소를 가진 배열을 return하도록 solution 함수를 완성해주세요.추상 클래스 추상 클래스는 객체로 만들 수 없는 클래스이다. 따라서 서브 클래스에 상속한 후 객체를 만들어 사용한다.인터페이스나 추상 메서드의 개념을 이해하기는 쉽지 않다. 추상메소드와 관련된 정보는 많이 있지만.. 이것이 어디에 쓰기위해 존재하는지에 대해서 명확하게 정리되어 있지 않으면 이미 만들어져 있는 추상메소드를 코딩은 하지만 직접 클래스를 만들면서 추상 메소드가 가진 목적을 발휘하는 그런 클래스를 디자인하고 만들어 쓰는데까지는 가지 못하였다.  그러면 이러한 추상 클래스를 왜 사용하는가?우리가 사용하는 운영체제를 보면 ..

[프로그래머스, LV.0] 분수의 덧셈

목차#1 분수의 덧셈첫 번째 분수의 분자와 분모를 뜻하는 numer1, denom1, 두 번째 분수의 분자와 분모를 뜻하는 numer2, denom2가 매개변수로 주어집니다. 두 분수를 더한 값을 기약 분수로 나타냈을 때 분자와 분모를 순서대로 담은 배열을 return 하도록 solution 함수를 완성해보세요. 이번에는 객체지향의 개념을 제대로 이해하기 위해 클래스를 도입해보았다.개념기약 분수란?기약 분수는 분자와 분모의 최대 공약수가 1인 분수를 말한다. 즉, 더 이상 약분할 수 없는 상태의 분수이다. 예를 들어, 분수 2/4는 1/2로 약분될 수 있기 때문에 기약 분수가 아니다. 그러나 1/2는 더 이상 약분할 수 없으므로 기약 분수이다. 최대 공약수(GCD)란?최대 공약수는 두 수의 공약수 중 가..

C/C++ OpenGl을 이용한 간단한 태양계 구축 프로젝트(1)

Windows MFC (Microsoft Foundation Classes)를 사용하여 OpenGL을 초기화하고 간단한 2D 그래픽을 렌더링 하는 뷰 클래스를 사용하여 간단한 태양계 구축하기. 이번에는 OpenGL을 사용하여 태양계 모델링을 구현과 MFC(Microsoft Foundation Classes)를 사용하여 Windows 환경에서 OpenGL을 초기화하고 3D 모델을 렌더링 하여 보자. COpenGLView 클래스 COpenGLView 클래스 생성자 (COpenGLView::COpenGLView()) 클래스 생성자에서는 행성과 달의 회전 등 각도 초기화를 수행한다! COpenGLView::PreCreateWindow 함수 윈도우를 생성하기 전에 윈도 클래스 및 스타일을 수정하며, OpenGL ..

C, C++/OpenGL 2023.11.08

[알고리즘] 순자 자료구조와 선형 리스트(자료구조5)

목차 # 순차 자료구조의 개념 자료는 구조화하는 방법에 따라 리스트, 스택, 큐, 데크, 트리, 그래프 등으로 나뉘는데 이러한 자료구조 유형을 프로그램으로 구현하는 방식에는 순차 자료구조와 연결 자료구조가 있다. 순차 자료구조 메모리 저장 방식 : 순차 자료구조는 구현할 자료들을 논리적인 순서대로 메모리에 연속하여 저장하는 방식. 연산 특징 : 삽입, 삭제 연산을 해도 빈자리 없이 자료가 순서대로 연속하여 저장되며 변경된 논리적인 순서와 저장된 물리적인 순서가 일치. 프로그램 기법 : 배열을 이용하여 구현 연결 자료구조 메모리 저장 방식 : 연결 자료 구조는 노드라고 하는 여러 개의 메모리 청크에 데이터를 저장하며, 메모리에 저장된 물리적 위치나 순서와 상관없이, 링크에 의해 논리적인 순서를 표현하는 방..

알고리즘 2023.09.16