반응형

전체보기 408

[C언어/C++] 올림, 내림, 반올림 (floor, ceil) 함수

안녕하세요 BlockDMask 입니다. 오늘은 올림, 내림 을 할수있는 ceil, floor 함수에 대해서 알아보고. floor 함수를 통해서 반올림을 하는 것 까지 보도록 하겠습니다. C의 함수들이 C++에 호환이 되어서 C에서 쓸때와 C++에서 쓸때의 차이점은 헤더파일, 메서드 오버로딩 (메서드, 함수 이름이 같아도 인자가 다르면 선언이 되는것) 이 있습니다. 오버로딩은 C++에서만 지원합니다. 글 순서는 헤더파일 소개 -> 함수(메소드)가 선언된 원형과 사용법 -> 실제 예시 -> + 알파 순으로 가겠습니다. 그럼 시작하겠습니다. (C++ 반올림(round)함수 포스팅 [바로가기]) (C++ 버림(trunc)함수 포스팅 [바로가기]) 0. 헤더파일(header) [C 언어] : [C++] : 1. ..

[맥OS] 맥북 유용한 단축키 모음

안녕하세요. BlockDMask 입니다.아무튼 오늘은 Mac 단축키에 대해 정리 해보려 합니다.실제 제가 사용하는 단축키 입니다다음 포스트는 "트랙패드 편하게 쓰기" 편을 포스팅 해보겠습니다. [맥북 단축키 정리](Mac Shortcut key)서버 접속 (Connect to Server) Command + K유틸리티 폴더 (Utilities) Command + Shift + U 폴더경로로 바로가기 (Go to Folder) Command + Shift + G홈 폴더 열기 Command + Shift + H데스크톱 (Desktop) = 바탕화면 Command + Shift + D프로세스 종료 command + W프로그램 종료 command + Q새 탭 command + T파일 폴더 지우기 선택 후 => ..

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

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

삽입정렬 (Insertion Sort) 이론과 코드

안녕하세요. BlockDMask 입니다. 오늘은 간단한 정렬 알고리즘 중에 삽입 정렬 (Insertion Sort) 에 대해서 알아보겠습니다. 이상한 곳이 있으면, 댓글로 말해주시기 바라겠습니다.댓글을 보고 고치도록하겠습니다. 따끔한 지적 부탁드리겠습니다. 0. 원리Insertion Sort 는 말 그대로 '삽입' 꽂아 넣는 정렬입니다. 자신보다 앞의 원소가 큰지 작은지 비교를 하여서 자신의 위치를 찾아서 '삽입' 하는 정렬입니다. 앞의 원소를 비교해야 하기 때문에 arr[1]~arr[n] 까지 진행합니다. (두번째 원소인 arr[1] 부터 시작.) 삽입을 하면 데이터가 하나씩 밀려야 하기 때문에 배열이 길어질수록 효율이 떨어집니다. 그림을 통해서 과정을 살펴 보겠습니다. (오름차순을 기본으로 하겠습니다..

[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진수로 변환하는 것 처럼 나머지를 이용하여 각 자리의 숫자를 구하고 역순으로 출력..

[C++] priority_queue container 정리 및 사용법

안녕하세요 BlockDMask 입니다.오늘은 Container Adapter (stack, queue, priority_queue) 중 마지막 priority_queue 에 대해 정리해보겠습니다. 0. priority_queue container우선순위 큐를 구현한 것 입니다. priority_queue container 는 vector, deque container 와 붙어서 사용이 가능합니다. (list 불가능) 내부적으로는 에 있는 힙 관련 함수들을 사용하여 구현되어있습니다. 내부구조 default 는 vector container 기반으로 설정되어 있습니다. 정렬기준 default는 내림차순(less) 기반으로 설정 되어있습니다.1. priority_queue container 사용법 헤더파일 안..

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

[C++] queue container 정리 및 사용법

안녕하세요! BlockDMask 입니다.오늘은 Container Adapter (stack, queue, priority queue)중 두번째인 queue container adapter에 대해 정리해보겠습니다. 0. queue containerFIFO (First in, First out) 방식으로 동작 됩니다. queue container는 deque와 list container 에 붙어서 사용 가능합니다. (vector container 불가능.) vector container가 불가능한 이유 : queue 자료구조 특성상 뒤에서 삽입하고 앞에서 빼야하는데(FIFO) vector는 앞에서 빼는 동작을 지원해 주지 않기 때문입니다. 내부적으로 deque, list container 로 구현이 되어있습..

[C++] stack container 정리 및 사용법

안녕하세요. BlockDMask 입니다.오늘은 Container Adapter (stack, queue, priority_queue) 중에 stack container 에 대해 알아보겠습니다.다들 stack의 동작 원리나 구조는 아신다고 생각하고 포스팅 하곘습니다.0. stack containerLIFO(Last in First out) 방식. stack container adapter는 vector, deque, list container에 붙어서(기반으로) 사용이 가능합니다. 내부적으로는 vector, deque, list container의 구조로 구현이 되어있되, stack이라는 포장지로 잘 감싸서 stack과 같이 작동하도록 멤버 함수 등을 지원해 주는 것 입니다. default는 deque c..

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

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

반응형