목록대학교 (252)
SW

0. 제목 백준 1525 퍼즐 BOJ 1525 퍼즐 C++ 1525 퍼즐 1. 문제 https://www.acmicpc.net/problem/1525 2. 풀이 이 문제는 브루트포스와 BFS를 사용하는 문제였다. 아홉개의 칸 순서대로 이어지는 숫자로 표현할 것이기 때문에 0을 9로 바꿔주고 시작한다. 정수를 입력받으면서 start라는 변수에 9자리 수를 저장한다. key, value쌍을 가지고 있는 map을 사용하여 dist를 선언한다. dist[x]는 x까지 움직인 횟수를 뜻한다. BFS를 사용하기 위해 큐를 선언하고 큐가 빌때까지 반복한다. 큐의 맨 앞에 있는 정수를 문자열로 만들어준다. 그 후 pop을 하고 9가 저장되어 있는 인덱스를 찾는다. 찾은 인덱스를 이용하여 x좌표와 y좌표를 찾는다. 미로..

0. RDBMS 관계형 DBMS는 열이 속성을 나타내고 테이블의 각 행이 레코드를 나타내는 테이블 형식으로 데이터를 저장한다. RDBMS는 CRUD(Create, Read, Update, Delete) 조작을 허용한다. SQL(Structured Query Language)은 관계형 데이터베이스 관리 시스템(RDMS)에서 데이터를 쿼리, 업데이트 및 삭제하는 데 사용되는 언어이다. SQL은 표준 쿼리 언어이다. SQL언어의 쿼리는 SQL명령 또는 SQL문이라고도 한다. 가장 인기있는 10가지 DBMS는 다음과 같다.(현재 2020.03.19) 출처: https://db-engines.com/en/ranking 가장 인기있는 10가지 RDBMS는 다음과 같다. 1. 각 RDBMS 특성 Oracle Orac..

0. 제목 백준 1697 숨바꼭질 BOJ 1697 숨바꼭질 C++ 1697 숨바꼭질 1. 문제 https://www.acmicpc.net/problem/1697 2. 풀이 완전탐색을 푸는데에 5가지 방법이 있다. brute force(N중 for문) 순열 BFS(최소를 구하는 문제) 비트마스크 백트래킹 이 문제는 BFS를 사용하여 푼다. 현재위치와 현재까지 걸린 시간을 큐에 넣고 조건을 확인해가며 push, pop을 반복한다. 그렇게 반복문을 돌다가 현재위치가 동생이 있는 위치와 같아지게 되면 bfs함수는 현재까지 걸린시간을 반환한다. 3. 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33..

0. 제목 백준 10819 차이를 최대로 BOJ 10819 차이를 최대로 C++ 10819 차이를 최대로 1. 문제 https://www.acmicpc.net/problem/10819 2. 풀이 next_permutation 이라는 STL 함수를 사용하면 된다. next_permutation은 순열의 순서를 바꿔주고 순열이 최종적으로 끝나면(완전하게 역순이 되면) 다시 원래 순서대로 바꾼 뒤 false를 반환해준다. 예를 들어, 1 2 3 4 -> 1 2 4 3 -> 1 3 2 4 -> 1 3 4 2 -> ... -> 4 3 2 1 -> (false반환)1 2 3 4 그리고 처음에 무조건 실행을 하는 do~while문을 사용하였다. 3. 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1..

0. 플러그인 compile, test, package, jsr, war 위와 같은 구성단계이외에도 많은 단계가 있는데 모든단계가 무조건 실행되는 것이 아니고 원하는 곳까지 실행할 수 있다. 각 단계별로 Plug-in을 가지고 있다. 단계를 수행하는 실질적인 프로그램이다. pom.xml에서 설정이 가능하다. Plug-in은 goal을 가지고 있다. 위와 같은 명령어를 실행하면 단계별 실행을 담당하는 플러그인들을 볼 수 있다.

0. 자바 프로젝트 생성하기 출처 : https://www.youtube.com/watch?v=oPEY7xawQlg&list=PLq8wAnVUcTFWRRi_JWLArMND_PnZM6Yja&index=3 위 영상을 참고하여 Maven Project를 생성하였다. 다음과 같이 javaprj 가 생긴것을 볼 수 있다. 1. Maven 프로젝트 컴파일과 실행 항상 Maven프로젝트에는 root에 pom.xml 파일이 있다. 프로젝트를 컴파일할 때나 실행할 때 pom.xml이 있는 파일에서 명령어를 실행한다. pom.xml에 아래 빨간 부분을 추가해야 Build가 Success 된다. BUILD SUCCESS 후에 /Users/kosangwon/mavenProject/javaprj/target/classes/co..

0. Maven이란? Maven은 Build Tool 이다. 빌드 과정 : 프로젝트 설정 -> 라이브러리 설정 -> 코드 작업 -> 컴파일 -> 테스트 -> 패키지 만들기 -> 배포 -> 레포팅 위 빌드 과정 중 반복되는 내용을 조금 더 효율적으로 개발할 수 있도록 도와주는 빌드 도구이다. 그렇다면 이클립스도 빌드 툴일까? 이클립스에서도 프로젝트 설정 -> 라이브러리 설정 -> 코드 작업 -> 컴파일 등이 가능한데 빌드 툴일까? 아니다. Visual Studio도 그렇고 Build Tool이 아니다. 이클립스나 Visual Studio는 IDE(Integrated Development Environment)이다. 빌드 툴은 프로젝트 생성, 라이브러리 생성등을 담당한다면 IDE는 더 많은 도구들을 결합해서..

1. Eclipse Eclipse는 IDE(Integrated Development Environment)이다. Eclipse에서도 프로젝트 설정 -> 라이브러리 설정 -> 코드 작업 -> 컴파일이 가능해서 Maven같은 Build Tool이라고 생각할 수 있지만 그렇지 않다. Build Tool은 프로젝트 생성, 라이브러리 생성 등을 담당한다면 IDE는 더 많은 도구들을 결합해서 만든 더 큰 단위의 도구이다. 2. Maven Maven은 Build Tool의 한 종류이다. Eclipse같은 IDE와는 다르다. Build과정은 프로젝트 설정 -> 라이브러리 설정 -> 코드 작업 -> 컴파일 -> 테스트 -> 패키지 만들기 -> 배포 -> 레포팅 과 같이 이루어져있다. Maven은 위 빌드 과정 중 반복되..

0. 지리적 위치 정보 이용하기 모바일 앱에서 사용자의 위치를 안다는 것은 매우 중요하다. 리액트 네이티브는 지리적 위치 추적(geolocation) 기능을 기본적으로 제공한다. 이 기능은 플랫폼에 상관없이 동일하게 사용할 수 있다. 사용자 위치 얻어오기 사용자 위치를 얻어올 때는 navigator.geolocation을 호출하면 된다. getCurrentPosition은 성공 콜백(success callback), 에러 콜백(error callback), getOptions 이렇게 3개의 인자를 받는다. 성공 콜백만 필수 인자이다. 성공 콜백으로 전달되는 position 객체에는 좌표와 타임스탬프(time stamp)가 들어 있다. getOptions는 객체로서 timeout, enableHighAcc..

0. 제목 백준 6378 디지털 루트 BOJ 6378 디지털 루트 C++ 6378 디지털 루트 1. 문제 https://www.acmicpc.net/problem/6378 2. 풀이 이 문제의 핵심은 수가 최대 1000자리라는 것이다. int 는 불가능하고 long long 마저도 불가능하다. 따라서 문자열로 입력받는다. 그 후 한자리수가 될 때까지 반복적으로 조건에 따라 계산을 한다. 3. 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 #include #include using namespace std; int main(int argc, const char * argv[]) { string s; int s..