일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Javascript
- Visual Studio
- Tips프로그래밍강좌
- Kotlin
- 리뷰
- 알고리즘
- 김성엽
- c
- 이지스퍼블리싱
- 문법
- 프로그래밍
- Win32
- c++
- 백준
- 함수
- Direct2D
- doit코틀린프로그래밍
- 배열
- 포인터
- Desktop
- VS ERROR
- 티스토리
- 지식나눔강좌
- 연산자
- Programming
- CS
- tipssoft
- Tips강좌
- c#
- Windows
- Yesterday
- Today
- Total
목록DEV (265)
F.R.I.D.A.Y.
주어진 배열에서 연속하는 각 요소의 합이 최대인 값 구하기. 코드 #include using namespace std; #define max(x,y) ((x) > (y) ? (x) : (y)) int main() { int n; int* arr; cin >> n; arr = new int[n]; for (int i = 0; i > arr[i]; int result = arr[0]; { for (int i = 1; i 0 && arr[i - 1] + arr[i] > 0) { arr[i] += arr[i - 1]; } result = max(arr[i], result); } } cout 0 위 조건을 추가해 점화식을 적용하면 다음..
최대 합이 되는 경로 검색 1932번: 정수 삼각형 첫째 줄에 삼각형의 크기 n(1 ≤ n ≤ 500)이 주어지고, 둘째 줄부터 n+1번째 줄까지 정수 삼각형이 주어진다. www.acmicpc.net 코드 2차원 배열로 구성을 했다변 더 좋았겠지만, 2차원 배열을 굳이 사용하지 않더라도 수식만으로 2차원 배열을 사용하는 것처럼 구성이 가능하다는 것을 보이기 위해 1차원 배열을 사용해봤다. #include using namespace std; int main() { int n; cin >> n; int* arr = new int[n * n]; cin >> arr[0]; for (int i = 1; i > arr[i * n]; arr[i * n] += arr[(i - 1) * ..
LIS를 해결하는 시간 복잡도 O(nLogn)의 알고리즘 11053번: 가장 긴 증가하는 부분 수열 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이 www.acmicpc.net 코드 #include using namespace std; int main() { int n; cin >> n; int* input, * dp; input = new int[n]; dp = new int[n + 1]{}; for (int i = 0; i > input[i]; int maxLength = 1..
학교 과제. 주변에 동기를 보면 힘들어하는 것 같아서.. 문제 사항 매 학기 같은 문제를 낼거라고 생각하지 않으니까..^^ - 이번 과제에서는 B-Tree 구조를 활용해 set 클래스 템플릿을 구현해야합니다. 그리고 set 클래스에는 총 세 개의 public 멤버 함수만 존재할 수 있습니다. > count, insert, erase - set 클래스에는 아래의 함수가 선언 및 정의되어야합니다. > count, insert, loose_insert, fix_excess, erase, loose_erase, fix_shortage, remove_biggest - 추가로, `show_contents`라는 이름의 public 멤버 함수를 선언 및 정의합니다. 이 함수는 여러분 set 클래스의 B-tree 구조로..
함수 포인터 예시 사용자로부터 입력을 받는 프로그램이 있다고 하자. 그럼 해당 프로그램은 입력으로 들어온 값에 따라 다른 명령을 수행하도록 구성해야한다. 즉, 분기 구문[# if, switch 등]을 이용해야한다. #include #include using namespace std; void doHello(){ cout
개발의 한 축, 디버깅 시작하며 개발에선 코드를 잘 작성하는 것이 중요합니다. 알고리즘과 더불어 코드 구조를 어떻게 짜느냐도 큰 부분을 담당하죠. 그러나 코드를 짜는 것에 있어, 항상 원하는 결과를 생성하지는 않습니다. 컴파일러단에서 오류가 발생[# 이를 신택스 에러(Syntax error)라 합니다.]하기도 하지만, 런타임 에러나 시맨틱 에러[# 문법상 문제는 없지만 의도하지 않은 결과가 일어나는 것, 그것을 시맨틱 에러(semantic error)라 부릅니다.]가 일어나기도 합니다. 이와 같은 버그를 해결하는 것을 우리는 디버깅이라 부릅니다. 요즘은 디버깅 능력을 보조하는 여러 툴이 있지만, 오늘은 IDE로 Visual Studio를 사용하는 이들에게 도움이 되는 글을 가져옵니다. 디버깅 Visual..
C++에서 사용하는 레퍼런스 타입 함수로 값 전달하기 C에서 함수로 값을 전달하는 방법에는 크게 두 가지 방법이 있습니다. 값으로 전달(Call by Value) 주소로 전달(Call by Address) 사실, 주소로 전달하는 방식 또한, 결국은 값에 의한 전달과 동일한 개념이지만 일반적으로 값으로 전달했을 때의 단점을 상쇄할 수 있기 때문에 별도의 방식으로 보고 있죠. C++에서는 하나의 타입이 추가됩니다. 레퍼런스 타입 C++에는 레퍼런스 타입이라는 불리는 타입이 추가되었습니다. 아래처럼 사용할 수 있습니다. int a = 5; int& ref = a; ref = 7; // a도 7이 됨 레퍼런스 타입으로 변수를 선언하면, 대입한 변수의 공간을 함께 공유합니다. CallbyAddress와의 차이 레..
VS ERROR E1087 해당 오류는 여러 이유로 발생할 것으로 생각된다. 따라서, 각 파트에 맞추어 작성하겠다. 함수 한정자 const 사용 코드를 작성할 때, 클래스 메서드에서 멤버 필드에 쓰기를 제한하도록 하는 구문이 있다. class test{ private: int a; public: void accessA() const{ a = 5; // error } } 이런 식의 구조인데, 코드를 보게 되면, accessA 함수 뒤에 const로 한정자가 작성되어 있다. 멤버 함수 뒤에 붙는 const가 객체에 접근해 쓰기를 제한하도록 하는 구성이다. 원인 E1087 에러가 나는 방식 중 하나는 const 메서드에서 에서 일반 메서드를 호출할 때 이다. int Test::a() const{ b(1);//..
XML 문서(Visual C++) 자세한 정보: XML 문서 (Visual C++) docs.microsoft.com 메서드 구현 등을 진행했을 때, 해당 방식을 이용하면 새로 생성한 메서드를 참조할 때 인텔리센스가 보고 사용자 편의를 향상시킨다. 적용 전 적용 후
사용자 지정 서식지정자를 구현해 printf 이진수 출력하기 printf는 C언어의 스탠다드 라이브러리에서 출력을 담당하는 함수로 서식 지정자를 가지고 있다. 서식지정자 printf는 기본적으로 바이너리 출력을 지원하지 않는다. 즉, 이진수 출력을 지원하기 위해서는 따로 함수를 만들어 별도로 작성을 하거나, 직접 printf의 모든 기능을 구현하면서 이진수 출력에 대한 코드를 넣어서 라이브러리를 새로 만들어야한다. 이진수 출력의 문제나, 혹은 직접 커스텀 서식지정자를 만들고 싶을 때도 동일하게 발생하는 문제다. 이진수 출력용 서식지정자 정하기 제공되는 서식지정자에는 이진수 형식으로 출력을 지원하는 서식지정자를 제공하지 않으므로, 새로운 함수를 만들어 기존 printf 함수와 혼용해 코드를 작성하면 그 길..