본문 바로가기

분류 전체보기154

C++ 언어의 특징 해당 글은 공부를 하면서 적은 글이기 때문에 틀릴 수 있습니다. 참고용으로만 봐주세요~ 1. C++ 언어의 설계 목표 C++ 언어의 기본적인 설계 목표에 대해 알아봅시다. 1) C 언어로 작성된 프로그램과의 호환성(Compatibility)을 유지한다. 기존에 작성된 C 언어의 문법적 체계를 그대로 계승한다. 뿐만 아니라 C 언어로 작성되어 컴파일된 목적 파일(Object File)이나 라이브러리를 C++ 프로그램에서 링크하여 사용할 수 있도록 한다. 2) 소프트웨어의 재사용을 통해 소프트웨어 생산성을 높이고, 복잡하고 큰 규모의 소프트웨어 작성, 관리, 유지 보수를 쉽게 하기 위해서 객체지향적 개념을 도입한다. 3) 타입 체크를 엄격히 하여 실행 시간 오류의 가능성을 줄이고 디버깅을 돕는다. 4) 실행.. 2024. 1. 26.
객체지향 프로그래밍 해당 글은 공부를 하면서 적은 글이기 때문에 틀릴 수 있습니다. 참고용으로만 봐주세요~ 1. 객체지향 프로그래밍 (Object - Oriented Programming) 개요 객체지향 프로그래밍(Object-Oriented Programming, OOP)은 컴퓨터 프로그래밍의 패러다임 중 하나이다. 오늘날 많은 유명한 프로그래밍 언어(Java, C++, Python, PHP, Ruby, Object-C)는 객체지향 프로그래밍을 지원한다. "객체지향"이라는 개념은 불행히도 명확한 정의가 없는 것이 특징이다. 우리가 어떠한 개념을 이해하려할 때, 그 개념의 특성(attribute, property)을 통해 이해하는 것처럼 객체지향도 객체지향의 특성을 통해 이해할 수밖에 없다. 객체지향 프로그래밍은 실세계에 .. 2024. 1. 24.
에라토스테네스의 체 해당 글은 공부를 하면서 적은 글이기 때문에 틀릴 수 있습니다. 참고용으로만 봐주세요~ 0. 소수 소수란 1과 자기 자신 외의 약수를 가지지 않는 1보다 큰 자연수를 말한다. 1. 에라토스테네스의 체 란? 소수를 판별하는 알고리즘이다. 소수들을 대량으로 빠르고 정확하게 구하는 방법이다. 그 중 특정 범위가 주어지고 그 범위 내의 모든 소수를 찾아야 하는 경우에 가장 좋은 효율을 보인다. (이때 시간 복잡도는 O(Nlog (logN))이다. 하지만 필요없는 숫자들의 소수도 판별해야 하기에 숫자가 커지면 커질수록 비효율적이다. 또한, 에라토스테네스의 체 과정상 주어진 정수범위 N의 크기만큼 리스트나 배열등을 할당해야하기 때문에 메모리가 많이 필요하다는 것도 단점이다.) 고대 그리스의 수학자 에라토스테네스가 .. 2024. 1. 16.
프로그래머스 2024.01.16 (1Lv 2016년) 문제 문제 설명 2016년 1월 1일은 금요일입니다. 2016년 a월 b일은 무슨 요일일까요? 두 수 a ,b를 입력받아 2016년 a월 b일이 무슨 요일인지 리턴하는 함수, solution을 완성하세요. 요일의 이름은 일요일부터 토요일까지 각각 SUN,MON,TUE,WED,THU,FRI,SAT 입니다. 예를 들어 a=5, b=24라면 5월 24일은 화요일이므로 문자열 "TUE"를 반환하세요. 제한 조건 2016년은 윤년입니다.2016년 a월 b일은 실제로 있는 날입니다. (13월 26일이나 2월 45일같은 날짜는 주어지지 않습니다) 입출력 예 a b result 5 24 "TUE" 코딩 #include #include using namespace std; string solution(int a, int.. 2024. 1. 16.