반응형

전체보기 408

[탐색] 이진탐색 (Binary Search) 구현 방법

안녕하세요. BlockDMask 입니다. 알고리즘 코딩 사이트(백준 온라인 저지)에서 '수 찾기' 문제를 풀다가 이진탐색(Binary Search)이 나와서, 이번 기회에 정리를 해볼까 합니다. 1. 이진탐색(Binary Search) 이란.이진 탐색 알고리즘(Binary Search Algorithm)은 오름차순으로 정렬된 리스트에서 특정한 값의 위치를 찾는 알고리즘 입니다. 오름차순으로 정렬된 리스트의 중간 값을 임의의 값으로 선택하여, 찾고자 하는 Key값과 비교하는 방식으로 돌아가는 알고리즘 입니다. 정렬된 리스트에서만 사용할 수 있다는 단점이 존재합니다. 검색이 될때마다 선형탐색(Linear Search)와는 비교할 수 없게 빨라집니다. 2. 이진탐색(Binary Search)의 시간 복잡도 입..

[Linux] Virtual box 설치하기

안녕하세요. BlockDMask 입니다.윈도우에 virtual box를 설치 한 후 리눅스(Ubuntu)를 설치 하는 것을 작성해보겠습니다.이번 글에서는 윈도우에 Virtual box를 설치하는 방법을 알아보겠습니다. 1. Window OS에 virtual box(가상머신) 설치하기!Oracle에서 제공해주는 VM(가상머신)인 VirtualBox를 설치합니다.아래 URL에 들어가서 Download 클릭!https://www.virtualbox.org/ 클릭을 하면 아래와 같은 화면이 나옵니다> hosts로 지정할 OS를 선택합니다.(=virtual box를 다운받을 컴퓨터의 OS를 선택하면 됩니다!) 저는 Window Desktop에 받을 거기 때문에 Windows Hosts를 클릭해서 다운 받았습니다...

[백준 1920] 수 찾기 (이진탐색)

안녕하세요. BlockDMask 입니다. 오늘은 '수 찾기' 라는 문제를 풀어보았습니다.음..은근히 생각을 하게 하는 문제였습니다. '시간초과' 때문에;; ㅎㅎ 170906 문제 빼먹음 -> 171008 완료0. 제목백준 1920 수 찾기 (이진탐색)BOJ 1920 수 찾기 (Binary Search)1. 문제설명 N개의 정수 A[1], A[2], A[3], A[4], ..., A[N-2], A[N-1], A[N] 이 주어져 있을 때, 이 안에 X라는 정수가 존재하는지 알아내는 프로그램을 구현하면 됩니다. 입력 -- 첫째 줄에 자연수 N(1

[백준 2562] 최대값

안녕하세요. BlockDMask 입니다.오늘의 문제 풀어보겠습니다. 170905 문제 빼먹음 -> 171008 완료0. 제목백준 2562 최대값BOJ 2562 최대값1. 문제 설명 9개의 서로 다른 자연수가 주어질 때, 이들 중 최대값을 찾고 그 최대값이 몇 번째 수인지 구하는 프로그램을 만들면 됩니다. 예를들어, 서로 다른 9개의 자연수 3, 29, 30, 12, 55, 80, 9, 92, 60 이 주어지면, 이들 중 최대값은 92 이고 이 값은 8번째 수 입니다. 주어지는 자연수의 크기는 100보다 작습니다. 2. 풀이 과정 배열에 각 수를 저장한 후 선형탐색을 이용하여 배열 전체를 탐색하는 방법으로, 최대값을 구하는 방식으로 풀면 됩니다. 3. 코드 123456789101112131415161718..

[알고리즘의 정의] Algorithm?

[Algorithm ?] 주어진 문제를 해결하기 위한 단계, 절차 또는 여러 동작의 모임를 말한다. 이 절차에는 입력값과 출력값이 존재해야하며, 유한한 단계를 거쳐서 반드시 종료 되어야 한다. 입력 : 외부에서 제공되는 자료가 0개 이상 존재해야한다.출력 : 적어도 1개 이상의 서로 다른 결과를 내어야 한다.(즉 모든 입력에 하나의 출력이 나오면 안됨)명확성 : 수행 과정은 명확하고 모호하지 않은 명령어로 구성되어야 한다.유한성(종결성) : 알고리즘의 명령어들은 끝이 있는 계산을 수행한 후에 종료해야 한다.(출처-동아출판 중학교 정보책 날짜-2017-7-11)효율성 : 모든 과정은 명백하게 실행 가능(검증 가능)한 것이어야 한다. https://ko.wikipedia.org/wiki/%EC%95%8C%E..

[백준 2309] 일곱 난쟁이 (브루트 포스)

안녕하세요. BlockDMask 입니다.오늘은 백준 온라인 저지에 단계별로 풀어보기 중 브루트 포스 카테고리에 있는 문제를 풀어보았습니다.170904 문제 빼먹음 -> 171006 완료 0. 문제백준 2309 일곱 난쟁이 (브루트 포스)BOJ 2309 일곱 난쟁이 (brute force)**Brute Force(브루트 포스)란 : 무식하게 푼다, 가능한 방법을 전부 만들어 보는 알고리즘, 완전탐색(exhaustive search)라고도 합니다. 1. 문제설명 왕비를 피해 일곱 난쟁이들과 함께 평화롭게 생활하고 있던 백설공주에게 위기가 찾아왔다. 일과를 마치고 돌아온 난쟁이가 일곱 명이 아닌 아홉명이었던 것이다. 아홉 명의 난쟁이는 모두 자신이 "백설 공주와 일곱 난쟁이"의 주인공이라고 주장했다. (백설공..

[백준 4673] 셀프 넘버

안녕하세요. BlockDMask 입니다.추석날 2번째 문제 입니다. 왔다 갔다 차안에서 문제를 풀고 있습니다. 길이 많이 막히네요;;170818 문제 빼먹음 -> 171004 완료0. 제목백준 4673 셀프 넘버BOJ 4673 self number1. 문제 설명 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다.양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의한다.예를 들어 d(42) = 42 + 4+ 2 = 48 이다. 양의 정수 n 이 주어졌을 때, 이 수를 시작해서 n, d(n), d(d(n)), d(d(d(n))), ... 과 같은 무한 수열을 만들 수 있다. 예를들어, 33으로 시작한다면 다음수는 33 + 3 + 3 = 39 이고, 그 다음 ..

[백준 2941] 크로아티아 알파벳

안녕하세요. BlockDMask 입니다.다들 즐추 하고 계시죠? 중간에 시간이 좀 떠서 문제를 풀어 보았습니다.170814 문제 빼먹음 -> 171004 완료0. 제목백준 2941 크로아티아 알파벳BOJ 2941 크로아티아 알파벳1. 문제 설명 이전 운영체제에서는 크로아티아 알파벳을 입력할 수 없었다고 한다. 아래 그림과 같이 크로아티아 알파벳을 변경해서 입력했습니다. 크로아티아 알파벳 변경 č c= ć c- dž dz= ñ d- lj lj nj nj š s= ž z= 이런식으로 바꾸어 사용합니다. 예를 들어, ljes=njak 는 크로아티아 알파벳 6개로(lj, e, š, nj, a, k)로 이루어져있다. ddz=z= 는 크로아티아 알파벳 3개로(d, dz=, z=)로 이루어져있다. 단어가 주어졌을때,..

[백준 5622] 다이얼

안녕하세요 . BlockDMask 입니다.170810 일자 문제 입니다. (170810 문제 빼먹음 -> 171003 완료) 0. 제목백준 5622 다이얼BOJ 5622 다이얼1. 문제 설명 전화를 걸고 싶은 번호가 있으면, 숫자를 하나 누르고 돌린다. 숫자 하나를 누른 상태에서 금 속 핀이 있는 곳 까지 시계 방향으로 돌려야 한다. 다른 숫자들을 누르려면 원래 위치로 돌아가기를 기다려야 한다. 숫자 1을 걸려면 총 2초가 필요하다. 1보다 큰 수를 거는데 걸리는 시간은 이보다 더 걸리며, 한 칸 옆에 있는 숫자를 걸기 위해서는 1초씩 더 걸린다. 입력은 문자열로 들어온다. 즉, 어떤 전화를 걸때, 각 알파벳에 해당하는 숫자를 걸면 된다. 예를 들어, UNUCIC는 868242와 같다. 단어가 주어졌을 ..

[백준 13458] 시험 감독

안녕하세요.// 오늘도 어김없이 문제를 풀고온 BlockDMask 입니다.곧 추석이네요 ㅎㅎ 추석때도 전을 먹으며 일일 일문제 하도록 노력해보겠습니다.0. 제목백준 13458 시험 감독BOJ 13458 시험 감독1. 문제 설명 총 N개의 시험장이 있고, 각각의 시험장 마다 응시자 들이 있습니다. i 번 시험장에 있는 응시자의 수는 Ai 명 입니다. 시험 감독관은 총감독관과 부감독관으로 두 종류가 있습니다. 총 감독관은 한 교실에서 감시 할 수 있는 응시자의 수가 B 명이고, 부감독관은 한 교실에서 감시할 수 있는 응시자의 수가 C 명 입니다. 각각의 시험장에 총감독관은 오직 1명만 있어야 한다. 부감독관은 여러명 있어도 상관없다. 각 시험장 마다 응시생들을 모두 감시해야 합니다. 이때 필요한 감독관 수의..

반응형