-
BOJ 11048 : 이동하기백준 문제풀이/Dynamic Programming 2020. 1. 2. 19:31
문제 준규는 N×M 크기의 미로에 갇혀있다. 미로는 1×1크기의 방으로 나누어져 있고, 각 방에는 사탕이 놓여져 있다. 미로의 가장 왼쪽 윗 방은 (1, 1)이고, 가장 오른쪽 아랫 방은 (N, M)이다. 준규는 현재 (1, 1)에 있고, (N, M)으로 이동하려고 한다. 준규가 (r, c)에 있으면, (r+1, c), (r, c+1), (r+1, c+1)로 이동할 수 있고, 각 방을 방문할 때마다 방에 놓여져있는 사탕을 모두 가져갈 수 있다. 또, 미로 밖으로 나갈 수는 없다. 준규가 (N, M)으로 이동할 때, 가져올 수 있는 사탕 개수의 최댓값을 구하시오. 입력 첫째 줄에 미로의 크기 N, M이 주어진다. (1 ≤ N, M ≤ 1,000) 둘째 줄부터 N개 줄에는 총 M개의 숫자가 주어지며, r번째..
-
BOJ 13913 : 숨박꼭질 4백준 문제풀이/GRAPH 2020. 1. 2. 00:07
문제 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 때 걷는다면 1초 후에 X-1 또는 X+1로 이동하게 된다. 순간이동을 하는 경우에는 1초 후에 2*X의 위치로 이동하게 된다. 수빈이와 동생의 위치가 주어졌을 때, 수빈이가 동생을 찾을 수 있는 가장 빠른 시간이 몇 초 후인지 구하는 프로그램을 작성하시오. 입력 첫 번째 줄에 수빈이가 있는 위치 N과 동생이 있는 위치 K가 주어진다. N과 K는 정수이다. 출력 첫째 줄에 수빈이가 동생을 찾는 가장 빠른 시간을 출력한다. 둘째 줄에 어떻게 이동해야 하는지 공백으로 구분해 출력한다..
-
[MySQL] in 연산자와 exists 연산자 의 차이프로그래밍/MySQL 2019. 12. 8. 12:47
Summary in 연산자의 처리순서는 서브쿼리 -> 메인쿼리 이다. 따라서 서브에서 메인의 정보를 가져올 수 가 없기 때문에 조건을 각각 설정한다. 반면에, exists 연산자는 처리순서가 메인쿼리 -> 서브쿼리 이다. 따라서 서브에서 메인의 정보를 가져와 모든 조건을 한번에 설정한다. 데이터 베이스 및 예제 In 연산자 문제를 in 연산자를 통해 풀어보면 아래와 같습니다. In 연산자의 처리순서는 서브쿼리에서 메인쿼리순으로 코드만 봐도 서브쿼리에 메인쿼리의 내용이 포함되어 있지 않은것이 보입니다. 제가 In 연산자를 쉽게 익힐수 있었던 이유는 '=' 연산자와 사용법이 똑같기 때문입니다. 이 문제의 경우..
-
[알고리즘] 2차원 버블 정렬(Bubble sort)프로그래밍/알고리즘 2019. 10. 22. 23:36
List 1. 1차원 버블정렬을 이해한다. 2. 주어진 변수를 통해 2차원 버블정렬을 만든다. 2차원 버블정렬(Bubble sort) 버블정렬을 간단하게 설명하자면 오름차순 기준으로 오른쪽에 있는 값과 비교하여 큰값을 오른쪽 끝으로 보내는 과정을 N번 반복하는 것입니다. 1차원 설계는 링크를 통해 들어가시면 확인하실 수 있습니다. 지금부터 2차원 버블정렬을 설계 해봅시다. 2019/03/27 - [프로그래밍/알고리즘] - [알고리즘] 버블정렬(Bubble sort) [알고리즘] 버블정렬(Bubble sort) 알고리즘 버블정렬(Bubble sort) 간단 요약 가정) Array[5]= { 15 ,11 ,1 ,3 ,8 } 을 오름차순으로 정렬한다. 특징) 선택정렬은 앞에서 부터 작은수를 정렬시키지만 버블정..
-
[Python & Ruby] Ruby Download프로그래밍/Python & Ruby 2019. 10. 18. 00:59
Summary 1. 하위 URL 을 통해 접속 2. '설치' 링크로 이동 3. 다운로드 마지막 과정에 PATH 설정 체크 URL : https://www.ruby-lang.org/ko/downloads/ Python Download 1. 하위 URL 을 통해 접속 URL : https://www.ruby-lang.org/ko/downloads/ 루비 다운로드 자신이 선호하는 방식으로 최신 루비 배포판을 설치할 수 있습니다. 현재 안정 버전은 2.6.5입니다. 루비 라이센스를 읽어 보세요. 루비를 설치하는 방법 각 주요 플랫폼에서 루비를 설치할 수 있는 몇 가지 도구가 있습니다. Linux/UNIX에서는 시스템에 포함된 패키지 관리 시스템이나 서드파티 도구(rbenv나 RVM)를 사용할 수 있습니다. ma..
-
[Python & Ruby] Python Download프로그래밍/Python & Ruby 2019. 10. 18. 00:21
Summary 1. 구글 검색창에 "Python" 검색 2. Download Python 클릭 3. 다운로드 마지막 과정에 PATH 설정 체크 URL : https://www.python.org/downloads/ Python Download 1. 'Python' 구글 검색 2. 'Download Python' Click ! URL : https://www.python.org/downloads/ 3. Downloads 에 커서를 올리면 자신의 PC 설정의 맞는 버전을 추천해줍니다. 4. Add Python to PATH 칸을 반드시 체크해줍니다. JAVA를 다운로드 하는 경우도 윈도우 환경변수 설정의 PATH 를 등록하는데 그 과정을 생략해줍니다. 5. 시작에서 'cmd' 검색 후 실행 6. cmd 창에..
-
[재귀] BOJ 9095 : 1, 2, 3 더하기백준 문제풀이/etc 2019. 10. 14. 00:50
문제 정수 4를 1, 2, 3의 합으로 나타내는 방법은 총 7가지가 있다. 합을 나타낼 때는 수를 1개 이상 사용해야 한다. 1+1+1+1 1+1+2 1+2+1 2+1+1 2+2 1+3 3+1 정수 n이 주어졌을 때, n을 1, 2, 3의 합으로 나타내는 방법의 수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 정수 n이 주어진다. n은 양수이며 11보다 작다. 출력 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다. 풀이 요즘 재귀 함수를 구현하는 법을 많이 연습 중입니다. 브루트 포스 문제들을 해결할 때 재귀 함수가 많은 도움이 되기 때문입니다. 이 문제는 재귀를 처음 접할 때 좋을 것..
-
[ETC] BOJ 13458 : 시험 감독백준 문제풀이/etc 2019. 10. 1. 23:47
문제 총 N개의 시험장이 있고, 각각의 시험장마다 응시자들이 있다. i번 시험장에 있는 응시자의 수는 Ai명이다. 감독관은 총감독관과 부감독관으로 두 종류가 있다. 총감독관은 한 방에서 감시할 수 있는 응시자의 수가 B명이고, 부감독관은 한 방에서 감시할 수 있는 응시자의 수가 C명이다. 각각의 시험장에 총감독관은 오직 1명만 있어야 하고, 부감독관은 여러 명 있어도 된다. 각 시험장마다 응시생들을 모두 감시해야 한다. 이때, 필요한 감독관 수의 최솟값을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 시험장의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 각 시험장에 있는 응시자의 수 Ai (1 ≤ Ai ≤ 1,000,000)가 주어진다. 셋째 줄에는 B와 C가 주어진다. (1 ≤ ..