반응형

전체 글 408

[C언어/C++] assert 함수에 대해서 : 디버깅을위한, 더 안전한 코드를 위한 오류 검출 방법

1. C/C++ assert함수란? - 간단하게 말하자면 assert 함수는 디버깅 모드에서 개발자가 오류가 생기면 치명적일 것이라는 곳에 심어 놓는 에러 검출용 코드입니다.- 예를들어서 int score 가 음수가 나오면 절대 안되는 상황이라고 가정을 하면, 보통 우리는 아래와 같이 코드를 작 성 할 수 있습니다.12345678910111213 int GetScore(){ //어딘가에 정의 되어있는 score라고 하면 if(score = 0); cout

[프로그래머스] LEVEL 1 : 핸드폰 번호 가리기 (C++)

안녕하세요!! BlockDMask 입니다.어제는 오랜만에 쇼핑을 했습니다 ㅎ_ㅎ 이쁜 셔츠를 샀어요. 1. 제목프로그래머스 LEVEL 1 : 핸드폰 번호 가리기 (C++) 2. 문제 설명프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다.전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해 주세요. 제한조건s는 길이 4이상 20이하인 문자열 입니다. phone_number : return01012345678 : *******5678023332222 : *****2222이런식으로 input과 return을 하는 함수를 만들면 됩니다. 3. 풀이 과..

[프로그래머스] LEVEL 1 : 자릿수 더하기 (C++)

안녕하세요. BlockDMask 입니다. 이제 날씨도 선선한게, 노트북 딱 들고 공원 벤치에 앉아서 코딩하기 딱 좋은 날씨 인거 같아요 그쵸? 0. 제목프로그래머스(programmers) LEVEL 1 자릿수 더하기 입니다. 1. 문제 설명자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어주세요.예를들어 N = 2345 이면 2+3+4+5 = 14 를 return 하면 됩니다. 2. 풀이 과정문제를 잘 읽어 보면 2345를 하나씩 분리해서 더하면 됩니다.매개변수로 들어오는 2345를 일의자리를 계속 분리하고 일의자리를 없애는 방식으로 진행하면됩니다.일의 자리를 구하는 것은 10으로 나눈 나머지를 구하면 해결됩니다.일의 자리를 없애는 것은 10으로 나눈 몫..

[프로그래머스] LEVEL 1 : 자연수 뒤집어 배열로 만들기 (C++)

안녕하세요. BlockDMask 입니다. 아니 오늘은 아디다스 츄리닝 바지를 입고 나갔는데도 바지에 땀이;; 차는거에요.. 그것도 저녁 8시에 너무 황당한 날씨였습니다. 0. 제목프로그래머스(programmers) LEVEL 1 자연수 뒤집어 배열로 만들기 입니다. 1. 문제 설명자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요.예를 들어 n이 23456이면 [6,5,4,3,2]의 배열을 리턴 합니다.제한조건 - n 은 10,000,000,000이하인 자연수 입니다. 2. 풀이 과정문제를 잘 읽어보면 그냥 뒤에서 부터(1의 자리수) 하나씩 배열에 집어 넣어라 입니다.1000이라는 자연수가 들어오면 [0,0,0,1] 배열에 넣어서 반환 해주면됩니다.이번에 이용할 연산자는 %(나머지..

[프로그래머스] LEVEL 1 : 문자열 다루기 기본(C++)

안녕하세요. BlockDMask 입니다.날이 너무 덥네요.. 에어컨이 없으면 일상생활이 불가능할 정도에요.그래도 힘내서 오늘도 문제를 풀어봅시다. 0. 제목프로그래머스 LEVEL 1 '문자열 다루기 기본' 입니다. 1. 문제 설명문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성되어있는지 확인해 주는 함수, solution을 완성하세요.예를 들어 s가 "a234" 이면 false를 리턴하고 "1234이면 true를 리턴하면 됩니다.제한사항 s는길이가 1이상, 8이하인 문자열 입니다. 2. 풀이 과정문제를 보면 우리가 쳐내야 할것이 두개가 있지요.첫번째 조건은 문자열의 길이가 4 또는 6이다.두번째 조건은 모두가 숫자 이어야한다. 입니다. 첫번째 조건은 string 클래스의 래퍼런스들 length() 또는..

[C++] 가상함수와 순수가상함수의 차이(virtual, pure virtual)에 대해서

안녕하세요. BlockDMask 입니다. 오늘은 C++의 아주 중요한 가상함수, 순수가상함수에 대해서 알아보겠습니다. 우선, 기본적으로 가상함수(virtual)와 순수가상함수(pure virtual)에 대한 기본적인 지식이 조금 있는 분 이셔야 이 내용을 읽기 적절할 듯 싶습니다. 1. 일반(단순)가상함수, 순수가상함수에 대한 기본적인 개념 - 순수가상함수와 가상함수를 아시는 분이라면 문장하나로 이해할 수 있을거라 생각합니다. - 순수 가상 함수는 인터페이스(Interface)를 자식 클래스에게 전달하기 위해 사용하는 함수입니다. - 일반(단순) 가상 함수는 인터페이스(Interface) + 함수의 선언(내부 구현) 까지 자식 클래스에게 전달하기 위해 사용하는 함수입니다. 풀어서 말하면, 순수가상함수는 ..

[프로그래머스] LEVEL 1 : 나누어 떨어지는 숫자 배열(C++)

안녕하세요. BlockDMask 입니다.하나씩 하나씩 레벨 1부터 풀어보겠습니다천천히 부담없이 풀고있습니다. 문제 풀어보겠습니다.0. 제목프로그래머스 LEVEL 1'나누어 떨어지는 숫자 배열' 입니다.1. 문제 설명array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 구현. divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하면 됩니다.제한사항 arr은 자연수를 담은 배열이고 정수 i, j에 대해 i ≠ j 이면 arr[i] ≠ arr[j] 입니다. divisor는 자연수입니다. array는 길이 1 이상인 배열입니다.예시. arr -> divisor -> return [5, 9, 6, 20..

[프로그래머스] LEVEL 1 : 가운데 글자 가져오기(C++)

안녕하세요! BlockDMask 입니다.프로그래머스 알고리즘 문제 LEVEL 1 난이도"가운데 글자 가져오기"를 풀어보았습니다.사용언어 : C++0. 제목프로그래머스 알고리즘 : 가운데 글자 가져오기1. 문제 설명단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요.단어의 길이가 짝수라면 가운데 두 글자를 반환하면 됩니다.제한사항 : s는 길이가 1이상, 100이하인 스트링입니다.입출력 예시. 입력 -> 출력 "abcde" -> "c" "qwer" -> "we"2. 풀이 과정이 문제를 보고 간단하게만 생각하면. 문자열 s 를 받고 그것의 길이(length), 크기(size)가 홀수인지 짝수인지 구분해서 반환하는 문자열로 만들어 주면 됩니다.그러면 우리는 std::string 클래스를 ..

[파일검색 툴] Everything 설치하기 | 에브리띵 프로그램

안녕하세요. BlockDMask 입니다.오늘은 파일을 검색할때 유용한 툴을 소개해 드리려고 이렇게 글을 작성합니다.EveryThing 이라는 파일검색 툴인데요. 파일 이름은 알지만 경로를 모를때!파일 이름은 알지만 경로까지 언제들어가!윈도우 기본 검색으로 검색이 잘 안될때!모든게 귀찮다 그냥 파일 찾아내!이때 유용한 툴이 바로 "에브리띵" 이라는 파일검색 툴 입니다. [설치 방법] 1) 검색 엔진에서 everything을 찾고 [여기]2) 32비트 컴퓨터인지, 64비트 컴퓨터인지에 따라 알맞는 setup파일을 다운 받습니다.(본인 컴퓨터가 32비트인지 64비트인지 확인은 "아래"에서 확인하는 방법을 알려드릴게요!)3) everything을 설치해서 잘 사용하기! [사용 예시]: 이런식으로 파일 이름과 경..

[python] 파이썬 설치하기, 아나콘다 설치하기, cmd창에서 python 실행하기

안녕하세요. BlockDMask 입니다.요즘 딥러닝에 관심이 생겨서 공부를 하고 있는데요,그렇게 쉽고 간단하다는 파이썬을 이용해서 실습을 하면서 하고 있습니다. 오늘은 파이썬(python)이라는 언어를 사용할때 편리한 기능을 제공해주는 "아나콘다(ANACONDA)" 배포판을 설치하는 방법과cmd 창에서 python을 실행하는 방법 에 대해서 알아보도록 하겠습니다. (맥북에 파이썬을 설치하는 방법은 바로 여기 있습니다. [바로가기]) 1) 다운로드 및 설치 ▼[URL]https://www.anaconda.com/download/ 위 주소로 가게되면 이렇게 Python3, Python2 중에 어떤걸 다운받을래?32bit 받을래 64비트 받을래?이런 선택권을 주는 페이지가 나오게 됩니다. 파이썬3으로 만든 프..

[C++] dynamic_cast (타입캐스트 연산자)

안녕하세요. BlockDMask 입니다. 이번에는 C++의 네가지 타입캐스트 연산자 (static_cast, const_cast, reinterpret_cast, dynamic_cast) 중에서 마지막 dynamic_cast에 대해서 알아보겠습니다. 1. dynamic_cast에 대해서 dynamic_cast는 safe downcasting(안전한 다운캐스팅)에 사용이 됩니다. (물론 upcasting에도 쓰입니다) 조금 쉽게 말씀 드리자면, 부모 클래스의 포인터에서 자식 클래스의 포인터로 다운 캐스팅 해주는 연산자 입니다. (부모클래스의 포인터가 실제 무엇을 가리키고 있는지가 중요합니다) 하지만, 런타임 시간에 실제로 해당 타입이 다운 캐스팅이 가능한지 검사하기 때문에, 런타임 비용이 조금 높은 캐스트..

[윈도우 단축키] 파일 실행 단축키 설정하는 방법

안녕하세요. BlockDMask 입니다.오늘은 단축키를 이용하여, 쉽고 간단하게 프로그램을 실행 할 수 있게 설정하는 방법에 대해서 알아보도록 하겠습니다.자주 사용하는 프로그램을 아래 그림 처럼 작업 표시줄에 놓는 것에도 한계가 있습니다.화면 캡처나, Everything 툴 같은 자주 on/off 하는 프로그램들을 단축키로 설정하게 된다면, 그보다 더 유용할 수 없습니다.이제 본론으로 들어가 보겠습니다. [설정 방법]1) 단축키를 설정하고자 하는 프로그램의 속성창을 오픈합니다. 2) 속성창의 바로 가기 키(K) 부분에 마우스로 클릭하고 단축키로 사용하고자 하는 키를 누릅니다.예를 들면 ctrl + alt + d 이런 순서로 누르게 되면, 자동으로 입력이 됩니다. 3) 확인을 누르고 테스트를 해봅니다. 그..

[Dev-C++ 설치하기] 프로그래밍 IDE

안녕하세요. BlockDMask 입니다.오늘은 우리가 C, C++ 언어로 프로그램을 개발할때 유용한 IDE를 소개하려고 합니다.툴을 설명하기 전에 IDE에 뜻에 대해서 한번 알아볼까요?IDE란 Integrated Development Environment의 줄임말이며, 한국말로는 통합 개발 환경이라 말합니다.프로그래밍 개발에 필요한 것들을 하나로 모아서, 우리는 IDE 툴을 이용해서 int main~~~~ 이렇게 쓰기만 하면 알아서 컴파일러 찾아서 컴파일 해주고 프로그램도 실행시켜 주는 그런 유용한 툴 이라는 것 입니다.이런 IDE의 종류가 매우매우 많은데. 제가 아는 IDE 중 가장 간편하고 가벼운(=설치하는데 오래안걸리는) Dev-C++ 이라는 IDE에 대해 소개하겠습니다.[설치 방법] 1) 일단 구..

[엑셀 단축키] 엑셀 메모 단축키

안녕하세요.BlockDMask 입니다. 정말정말 오랜만에 포스팅을 하게 되었네요.약간의 슬럼프 및 새로운 환경에 대한 적응 기간이 길었습니다.약 8개월정도 블로그를 쉰거 같아요.다시 오늘부터 START. 하겠습니다. 엑셀(excel) 메모 단축키?오늘은 엑셀 단축키 중에 메모 단축키에 대해서 알아 보겠습니다.저도 엑셀에서 메모를 종종 쓰게 되는데, 그때마다 마우스 커서를 이용하여아래 그림에서 보이는 메뉴 탭에서 찾아서 하는게 번거롭다고 생각이 들었습니다. (맥북에서 사용하는 엑셀 UI 입니다.) 그래서 단축키를 .. 시간을 들여서 찾아본 결과!단축키는 바로바로 "SHIFT + F2" 이었습니다. 메모(Comment)를 생성 할때도,메모(Comment)를 편집 할때도동일한 단축키를 사용하면 됩니다. 메모를..

[Level 2] 콜라즈 추측

안녕하세요. BlockDMask 입니다.오랜만에.. (새 환경에 적응하느라..) 블로그를 하네요.다시 꾸준히 시작해보겠습니다. 프로그래머스 알고리즘 문제 입니다. 171110 문제 빼먹음 -> 171226 완료0. 제목프로그래머스 Level 2 콜라즈 추측Programmers Level 2 CollatzC++ 알고리즘 문제1. 문제 설명1937년 Collatz란 사람에 의해 제기된 이 추측은, 입력된 수가 짝수 라면 2로 나누고, 홀수라면 3을 곱하고 1을 더한 다음, 결과로 나온 수에 같은 작업을 1이 될 때까지 반복할 경우 모든 수가 1이 된다는 추측입니다.예를 들어, 입력된 수가 6 이라면 6 -> 3 -> 10 -> 5 -> 16 -> 8 -> 4 -> 2 -> 1 이 되어 총 8번 만에 1이 됩..

반응형