Software Development 378

[DP] 기업투자 문제 풀이

백준 기업투자 문제 : https://www.acmicpc.net/problem/2662 문제 요약- 일정금액을 기업들에게 돈을 투자해서 최대 이익을 얻고자한다.- 투자액이 정해져 있고 기업의 개수와 기업에 투자할 이익이 주어질 때, 가장 많은 이익을 얻을 수 있는 투자방식과 이익금을 구하기위의 경우 최대 이익을 얻는 경우는 B기업에만 4만원을 투자하는 경우 15만원입니다. 우선 문제의 기본 입력을 받고 필요한 함수를 구현합니다.123456789101112131415161718192021222324252627282930#include using namespace std; int arr[301][21];int DT[301][21]; int M, C; int MAX(int a, int b){ return (..

[DP] 스티커 문제 풀이

백준 9465번 스티커 문제 풀이 : https://www.acmicpc.net/problem/9465 문제요약 : - 2xn개의 스티커를 갖고있다. 각 스티커는 점수가 있다.- 스티커를 떼면 그 스티커와 변을 공유하는 스티커는 찢어져 사용할 수 없다(점수x)- 뗄 수 있는 스티커 점수의 최댓값을 구하시오. 우선 이런 유형의 문제는 완전탐색을 하여 구현을 해봅니다.. 그다음 DP를 적용.. 1. 완전탐색을 할 경우를 생각해봅니다. "-->" 오른쪽 방향으로 탐색을 했을 때, 스티커를 떼는 방법은 위를 떼는 방법, 그리고 아래를 떼는 방법 두가지가 존재합니다. 우선 공유하는 변의 스티커가 뜯어지는 경우를 무시하고 전체 경우를 구한다면, 아래와 같이 구현할 수 있습니다. 12345678int solve(in..

Tizen Studio 설치 및 Certificate 생성 가이드

타이젠은 모바일, 웨어러블 TV, IVI 기기 등을 지원하는 다목적 운영 체제로써, 삼성전자가 주도하여 타이젠 연합에서 개발중입니다. 리눅스 커널을 사용하는 오픈 소스 프로젝트로 진행되고 있습니다. -> 상세내용[지원중인 모바일 운영체제] 2016년 9월 오픈소스 플랫폼인 타이젠은 새로운 SDK(Software develop kit)인 Tizen Studio를 공개했습니다 -> 관련내용Tizen Studio는 기존 SDK보다 개선된 UI/UX와 가벼운 환경으로, 보다 앱 개발자가 Tizen App을 쉽게 개발할 수 있게 제공해주고 있습니다. Tizen Studio 역시 Eclipse 기반으로, 설치 전 자바 환경이 구축되어 있어야합니다. 간단히 설치 전에 JDK를 설치하면 됩니다.-> (JDK다운:htt..

[DP] 0/1 Knapsack(배낭) 문제

배낭문제(Knapsack Problem)란, 배낭에 담을 수 있는 무게의 최댓값이 정해져 있고, 일정 가치와 무게가 있는 짐들을 배낭에 넣을 때, 가치의 합이 최대가 되도록 짐을 고르는 방법을 찾는 문제를 말합니다 배낭에 짐을 넣을 때,짐을 쪼개서 넣을 수 있는 경우와 쪼개지 못하고 넣는 경우 두가지가 존재하는데, 쪼갤 수 있는 경우 분할가능 배낭문제(Fractional Knapsack Problem),쪼갤 수 없는 경우 0-1 배낭문제(0-1 Knapsack Problem)이라 부릅니다. 쪼갤 수 없는 0-1 Knapsack의 경우 동적계획법(Dynamic Programming)으로 풀 수 있습니다. -> 위키백과 냅색 문제는 아래 링크에서 풀어 볼 수 있습니다. ->0/1 Knapsack 문제 보러가..

Dynamic Programming

Dynamic Programming(DP) , 동적 계획법 - 큰 문제를 작은 문제로 나눠서 푸는 알고리즘 -> 문제를 여러 개의 하위 문제(subproblem)로 나누어 푼 다음, 그것을 결합하여 최종적인 목적에 도달하는 것 -> 각 하위 문제의 해결을 계산한 뒤, 그 해결책을 저장하여 후에 같은 하위 문제가 나왔을 경우 그것을 간단하게 해결 * 동적계획법은 계산 횟수를 줄일 수 있다. 특히 하위 문제의 수가 기하급수적으로 증가할 때 유용 위키 (https://ko.wikipedia.org/wiki/%EB%8F%99%EC%A0%81_%EA%B3%84%ED%9A%8D%EB%B2%95) *피보나치 수로 DP 기초 다지기 F(0) = 0 F(1) = 1 F(N) = F(N-1)+F(N-2) (N>=2) 0 ..

Unity3D를 이용한 TIZEN 빌드

1. Tizen SDK 설치- 아래 링크에서 자신의 OS 환경에 맞는 SDK를 다운로드합니다.https://developer.tizen.org/development/tools/download-> [16.12.4 추가] Tizen Studio 설치 및 certificate 생성 가이드 TIZEN SDK 설치를 위해선 jdk가 설치되어 있어야합니다. JDK 다운로드 설치가 완료된 후 Update Manager를 실행하여, '2.3.1 Mobile' 을 설치합니다. -> 2.4역시 가능합니다. Tizen IDE를 실행시킵니다. 프로젝트가 기본적으로 생성될 workspace를 지정 후 OK를 클릭합니다. (유니티 설정시 필요한 기본 키값이 생성되는 위치입니다. 기억해두세요 ㅎㅎ) 상단 메뉴에서 [Windows]..

[Unity] Unity Build Error_Bundle Identifier has not been set up correctly

만약 유니티 빌드 시 다음과 같은 에러가 난다면,Error building Player : UnityException:Bundle Identifer has not been set up correctly Please set the Bundle Identifer in the Player Settings. The value must follow the convention 'com.YouCompanyName.YourProductName' and can contain alphanumeric characters and underscore. [File]->[Build Settings] -> [Player Settings...][Other Settings]-> [Bundle Identifier]를 설정 후 다시 빌드진행!

[Unity] 3. Unity 조작하기

툴 바 인터페이스 1. Transform Tools : 디자인 시 가장 자주 사용하는 기능, 왼쪽부터 단축키 Q,W,E,R,T 1) 이동 툴 버튼 : Scene View 화면 이동2) Transform 툴 버튼 : 게임오브젝트의 3차원 좌표축이 표시되며, 축을 클릭하고 드래그하여 이동3) Rotate 툴 버튼 : 선택한 객체 회전4) Scale 툴 버튼 : 선택한 객체 스케일 변경5) Rect 툴 버튼 : 선택한 UI객체의 이동, 회전, 스케일 변경 * Scene View 조작 기능 - 마우스 휠 스크롤 : Scene 뷰 확대 / 축소 - 마우스 휠 + 드래그 : Scene 뷰 이동 - 마우스 오른버튼 + 드래그 : Scene 시야각 변경 (카메라 기준) - Alt + 마우스 왼쪽 + 드래그 : Scne..

[Unity] 2. Unity Interface는 어떻게 구성되어있는가?

1. 프로젝트 생성1) Unity 실행 -> 'NEW" 클릭 2) 프로젝트 이름, 위치를 설정하고 'Create project'클릭 (경로와 프로젝트 이름엔 한글이 포함되면 안된다고 합니다) 3. Interface - 기본 인터페이스는 아래와 같이 구성되어져 있으며, 각 탭으로 분리된 윈도우(Window)를 뷰(VIew)라고 한다. 뷰의 명칭은 탭에 표기돼 있으며 탭을 드래그 앤 드롭해 자유롭게 배치할 수 있다. 1) Project View - 게임 제작에 필요한 모든 애셋을 모아두는 곳, 두개의 칼럼(Column)으로 분리돼 있으며, 하나의 칼럼으로 변경하는 옵션 제공. (하나의 컬럼 변경 : 우측상단 버튼클릭->One Column Layout 클릭) - 3D 모델, 텍스처, 사운드파일, 애니메이션, ..

[Unity] 0. 유니티는 무엇인가?

1. 유니티 게임엔진 - 2D, 3D 게임엔진 * 게임에진이란? 게임 개발에 필요한 여러 기능을 제공함으로써 쉽게 게임을 만들 수 있게 돕는 프로그램, 게임엔진을 이용하면 생산성과 작업 능률을 높일 수 있다. -> 현재 게임 엔진은 사용엔진부터 무료 게임 엔진까지 무척 다양하다. 그러나 이러한 게임엔진들은 높은 가격탓에 개인이나 학생들이 접하기는 어렵다. 유니티에서는 "게임 개발의 민주화(Democratizing Development)란 표어로 "이러한 현실에서 벗어나 누구나 쉽게 게임을 만들 수 있는 훌륭한 게임 엔진을 제공하자"란 의미로 제공하고 있다. (최근 유니티/언리얼 등 모두 무료화 정책으로 무료로 공개되어, 많은 개발자들이 보다 쉽게 게임엔진을 이용할 수 있게 되었습니다. 유니티-언리얼 엔진..