반응형

<알고리즘 문제풀이&연습> 103

[백준 10845] 큐 (C, C++ Queue)

안녕하세요.BlockDMask 입니다.오늘은 영국에 온지 이틀째 되는날입니다. 제가 원하는 데로 저는 영국 런던 리젠트 공원 벤치에 앉아서 문제를 풀어보았습니다.확실히 집중이 안되서; 쉬운 자료구조 문제를 풀어봤습니다.0. 제목백준 10845 큐BOJ 10845 큐1. 문제설명 큐를 구현하고각 명령어에 맞게 출력하는 문제입니다. push X : 정수 X를 큐에 삽입pop : 큐의 앞에 있는 정수를 없애고, 그 수를 출력합니다. 없는 경우 -1 출력.size : 큐에 들어있는 원소의 개수 출력.empty : 큐가 비어있으면 1, 그렇지 않으면 0 을 출력.front : 큐의 가장 앞에있는 원소 출력, 원소가 없는 경우에는 -1 출력.back : 큐의 가장 뒤에있는 원소 출력, 원소가 없는 경우에는 -1 출..

[백준 2747] 피보나치 수

안녕하세요. BlockDMask 입니다.0. 제목백준 2747 피보나치 수BOJ 2747 피보나치 수 1. 문제설명 피보나치의 수 n=0 일때 0n=1 일때 1이다. 피보나치의 수를 11개 까지 나열해 보면0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55 이때 45보다 적은 정수 NUM이 들어오면n 이 NUM 일때 피보나치 수를 구하여라. 2. 풀이과정 recursive function(재귀함수)로 구현을 했는데역시 시간초과가 나서 iterative (반복문)을 이용하여 피보나치 수를 구현했습니다. 처음에는 반복문으로 구현한 피보나치 함수에서 변수를 여러개 선언해서 구현을 했는데코드가 지저분해 보여서 int 형 배열을 선언해서 구했습니다. 여러개의 변수를 이용하여 구현한 반복문 기반 피보나..

[백준 2108] 통계학 (최빈값, 산술평균, 중앙값, 범위)

안녕하세요. BlockDMask 입니다. 오늘의 문제는 STL에 vector 를 이용해서 풀었습니다. vector에 pair 클래스도 넣고 풀어봤으니, vector 예제 느낌으로 봐주셔도 좋을 듯 합니다. 또한, sort 알고리즘을 사용할때 조건자를 줘서 기준을 바꿔 sort 하는 것도 나옵니다. sort(st.begin(), st.end(), comp) 도 유심히 봐주시면 좋을 듯 합니다.0. 제목백준 2108 통계학BOJ 2108 통계학1. 문제설명 n이 홀수일때 산술평균, 중앙값, 최빈값, 범위 를 구하여 각각 한 줄씩 출력하라. n개의 숫자들의 합을 n으로 나눈값을 말한다. (소숫점 이하 첫째자리에서 반올림한다.) n개의 숫자들을 증가하는 순서대로 정렬했을때, 중앙에 위치하는 값을 말한다. n개의..

[CodeGround] 하노이 타워(Hanoi Tower)

안녕하세요. BlockDMask 입니다.오늘은 codeground 두번째 문제 '하노이 타워'를 풀어보았습니다.0. 제목코드그라운드 하노이 타워CodeGround Hanoi tower1. 문제설명세개의 타워가 있고첫번째 타워에 서로 다른 접시 N개가 쌓여있습니다. 첫번째 타워에 놓여있는 모든 접시를 세번째 타워로 옮기고자 할때, 접시를 옮기는 순서를 출력하라.접시는 한 번에 하나만 옮길 수 있고, 한 타워의 맨 위 접시를 다른 타워의 맨 꼭대기에 올릴 수 있다.큰접시 위에 작은접시가 올라가야만 한다. (작은 접시위에 큰접시 올라오는것 불가능)2. 풀이과정알고리즘 수업을 들었던 사람은 재귀 함수 파트에서 꼭 한번은 배웠던 하노이 타워(Hanoi Tower) 문제입니다.유명한 만큼 설명은 생략하겠습니다. 3..

[CodeGround] 극단적인 수

안녕하세요. BlockDMask 입니다.오늘은 새로운 알고리즘 문제 사이트 코드 그라운드(codeground)를 발견하여서 여기 문제를 풀어 보았습니다. 0. 제목코드그라운드 극단적인 수.codeground 극단적인 수.1. 문제설명4와 7로만 이루어진 숫자셋이 있다고 생각.K가 들어오면 K 번째 숫자를 출력.첫쨰줄에 1 4,7 법칙으로 바꾸어 주는 겁니다.2의 배수이면 7이 되고, 그렇지 않으면 4가 됩니다.여기서 중요한게 있습니다.표를 보게되면2번째 표를 보면1, 3, 7 일때 4, 44, 444 가 됩니다. (7 - 1 ) /2 = 3 (3 - 1) /2 = 1 이런식으로 단위가 증가하는 것을 볼수 있으며10진수에서 2진수로 변환하는 것 처럼 나머지를 이용하여 각 자리의 숫자를 구하고 역순으로 출력..

[백준 1929] 소수 구하기 (에라토스테네스의 체)

안녕하세요. BlockDMask 입니다.오늘의 문제를 포스팅 해보겠습니다. 클라이밍 하고와서 손이 부들부들 떨리는데;; 24시가 되기전에 올려야하니, 샤워도 안하고 폭풍 포스팅을 해보겠습니다.소수를 구하는 문제인데;; 에라토스테네스의 체 (소수 구하는 방법) 방법을 이용하여 풀어야하는 문제입니다.0. 제목백준 1929 소수 구하기BOJ 1929 소수 구하기1. 문제설명 1 그러면 2의 배수는 소수가 아니다. -> 지운다. [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14], [15], [16], [17], [18], [19], [20] 3) [3]는 소수이다. -> 그러면 3의 배수는 소수가 아니다. -> 지운다. [1], ..

[백준 1181] 단어정렬 (vector, array)

안녕하세요!! BlockDMask 입니다.오늘의 문제 포스팅 하겠습니다.0. 제목백준 1181 단어정렬BOJ 1181 단어정렬1. 문제 설명 N개의 단어가 들어오면 1) 길이가 짧은순2) 길이가 같으면 사전순으로 정렬하여 출력하는 문제입니다.(단어는 소문자만 들어옵니다)(중복 제거 해야합니다.) 2. 풀이 과정 처음에는 vector container를 이용하여서,sort 알고리즘을 이용하여 정렬을하고unique 알고리즘을 이용하여 중복을 제거한 후 iterator(반복자)를 이용하여 출력하는것으로 문제를 풀었습니다. 그런데 다른사람과 비교했을때, 걸린 시간과 메모리량이 큰 것을 보고.어떻게 줄인걸까 생각을 해봤습니다. 그래서.총 4가지 방법으로 문제를 풀어봤습니다.T1) 방식이 제가 처음에 문제를 푼 방..

[백준 1475] 방 번호

안녕하세요. BlockDMask 입니다.이번 포스트는 7월 20일짜 커버입니다.0. 제목 백준 1475 방 번호BOJ 1475 방 번호1. 문제설명 숫자가 1,000,000보다 작은 자연수가 입력이 되면,그것을 인식하기위한0~9가지의 열가지 숫자가 있는 플라스틱 숫자 셋트가 몇개가 필요한지.9는 뒤집어서 6으로 사용 가능하다. 2. 풀이과정 총 3가지 방법으로 풀어봤습니다. T1) 입력을 int 타입의 변수로 받고 배열을 이용하여 계산 한 경우 T2) 입력을 int 타입의 변수로 받고 STL map 컨테이너를 이용하여 계산 한 경우 T3) 입력을 string 타입으로 받고 계산 한 경우 3. 코드 T1) 입력을 int 타입의 변수로 받고 배열을 이용하여 계산 한 경우123456789101112131415..

[백준 10828] 스택 (C, C++ stack)

안녕하세요. BlockDMask 입니다. 오늘의 포스팅을 시작하도록하겠습니다.오늘은 기본 스택을 구현하는 문제입니다.C, C++ 두가지를 이용하여 풀었습니다.0. 제목백준 10828 스택BOJ 10828 스택1. 문제설명 정수를 저장하는 스택을 구현하는 문제입니다. push N : 정수 N을 스택에 넣습니다.pop : 스택의 맨 위의 정수를 빼고, 출력. 없는경우 -1 출력.size : 스택의 정수의 개수 출력.empty : 스택이 비어있으면 1, 아니면 0 출력.top : 스택의 가장 위의 정수를 출력, 없는경우 -1 출력 2. 풀이과정 C++ 은 STL 에서 stack이 구현 되어있기 때문에 구현되어있는 stack을 이용하였고, C는 직접 구현을 했습니다. 3. 함수설명 C++의 stack 의 멤버인..

반응형