반응형

<알고리즘 문제풀이&연습>/[C++] 백준, 프로그래머스 등등 103

[백준 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..

[백준 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명만 있어야 한다. 부감독관은 여러명 있어도 상관없다. 각 시험장 마다 응시생들을 모두 감시해야 합니다. 이때 필요한 감독관 수의..

[백준 2292] 벌집

안녕하세요. BlockDMask 입니다.9월 25일자 문제 입니다.0.제목백준 2292 벌집BOJ 2292 벌집1. 문제 설명 [사진 출처]https://www.acmicpc.net/problem/2292 ACM-ICPC > Regionals > Asia > Korea > Nationwide Internet Competition > Asia Regional - Daejeon Nationalwide Internet Competition 2004 B번 위 그림과 같이 육각형으로 벌집이 이루어져 있습니다. 중앙 1번 방에서 부터 옆방 옆방으로 1씩 증가하면서 번호로 주소가 써져있습니다. (1 36번방이 N으로 들어오면 출력은 4 입니다. 2. 풀이 과정 방의 갯수를 잘보면 1개 - [1]6개 - [2~7]12..

[백준 1427] 소트인사이드

안녕하세요. BlockDMask 입니다.오늘 문제는 .. 음 쉬운 문제입니다.[C++ reference] 를 설명하기 위해서 찾아서 풀어본 문제입니다.0. 제목백준 1427 소트인사이드BOJ 1427 소트인사이드1. 문제 설명숫자 N 이 들어오면 내림차순으로 출력하라.N의 범위는 1,000,000,000 보다 작거나 같다.2. 풀이과정 a) 알고리즘 sort를 이용STL에서 지원해주는 sort 함수를 이용하여 푼 경우. b) 직접 bubble sort 구현 3. 코드 a) algorithm 헤더파일에서 지원해주는 sort 함수 이용.12345678910111213141516171819//백준 1427 번 소트인사이드 #include#include#includeusing namespace std; char..

[백준 1316] 그룹 단어 체커

안녕하세요. BlockDMask 입니다.9월 21일 목요일 문제 풀어보겠습니다. 0. 제목백준 1316 그룹 단어 체커BOJ 1316 그룹 단어 체커Group Word Checker1. 문제 설명 그룹 단어란 단어(문자열)에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우를 말합니다. "jjjkkqq" 는 j, k, q가 모두 연속해서 나타나므로 그룹 단어 입니다. "bear" 는 b, e, a, r 이 모두 연속해서 나타나므로 그룹 단어 입니다. "blockdmask" 는 b, l, o ,c k, d , m, a, s, k 에서 k 가 연속해서 나타나지 않으므로 그룹단어가 아닙니다. "kkkjjjjmmmj" 는 j 가 연속해서 나타나지 않으므로 그룹단어가 아닙니다. Testcase 가 ..

반응형