프로그래밍 436

백준 골드4 수묶기 1744

GitHub :https://github.com/kwon1232/CodingTest/tree/main/%EB%B0%B1%EC%A4%80/Gold/1744.%E2%80%85%EC%88%98%E2%80%85%EB%AC%B6%EA%B8%B0 해당 문제는크게 4가지 분류로최대 값의 경우를 구하면 된다. 1. 음수는 가장 작은 음수와 그 다음 작은 음수를 곱해줘서 큰 양수로 만들어 합계에 더해준다. 2. 양수는 큰수와 그 다음 큰 수와 곱해준 뒤 큰 양수로 만들어합계에 더해준다. 3. 1은 따로 셈해준 뒤 합계에 따로 더해주면 된다. 4. 0을 따로 세어주는 이유는 만약 곱해주지 않은 음수가 남았을 때,0을 곱해주면 총 합계에서 남은 음수가 차감되지 않기 때문이다.0을 세어준 뒤 만약 0이 남아 있다면 남은 음..

람다 함수들

람다 함수들 람다도 초보자에겐 생소한데람다 함수"들"? 이라고 하니 좀 더욱 더 생소할 것이다. 지금부터 람다에 대해서 간략하게 설명하겠다. 람다(lambda) 함수(람다 표현식 또는 간단히 람다라고도 함)를 보면초보 프로그래머에게 도움이 될 수 있도록 추가된C++11의 기능이 아니라고 의심할 수 있다.람다 함수는 겉보기에도 그런 의구심을 가질 수 있기 때문이다.람다 함수의 예제이다. [&count] (int x} {count += (x % 13 == 0);}  하지만 보이는 것 만큼 미스터리한 것은 아니며특히 함수를 사용하는 STL 알고리즘에서 유용한 서비스를 제공한다.  함수 포인터, 펑크터 그리고 람다 사용법 STL 알고리즘에 정보를 반영하는 세 가지 접근법을 사용한 예제를 살펴보자.우선 이 세가지..

안정된 인터페이스 만들기

클래스는 C++의 기본 추상화 단위다.클래스를 작성할 때추상화 원칙을 적용하여 인터페이스와 구현을 최대한 분리하는 것이 좋다.특히 데이터 멤버를 private로 지정하고게더와 세더를 제공하는 것이 바람직하다.인터페이스 클래스와 구현 클래스앞서 설명한 기준과 바람직한 설계 원칙을 적용하더라도C++언어와 추상화 원칙에 잘 맞지않는 부분이 있다.C++에서는 public 인터페이스와 private(또는 protected) 데이터 멤버 및 메서드를모두 클래스 정의에 작성하기 때문에클래스 내부 구현사항이 클라이언트에 어느 정도 노출될 수밖에 없다.그러므로 비 public 메서드나 데이터 멤버를 클래스에 추가할 때마다이 클래스를 사용하는 클라이언트 코드를 매번 다시 컴파일해야 하는 단점이 있다.프로젝트가 커질수록 이..

N-항 트리를 이용한 파일 시스템 구조

N-항 트리란 무엇인가? 이번 포스팅에서 살펴볼 N-항 트리(N-ary tree)는 각 노드가 N개의 자식을 가질 수 있다.N은 임의의 양수이므로 n개의 자식 노드는 벡터를 이용하여 저장할 수 있다.그러므로 N-항 트리는 다음과 같이 구현할 수 있다. struct nTree{ int data; std::vector children;}; 위 코드에서 각각의 노드는 임의 개수의 자식을 거느릴 수 있다.그러므로 전체 트리도 임의의 형태를 가지게 된다.평범한 이진 트리를 많이 사용하지 않는 것처럼 평범한 N-항 트리도 그다지 유용하지 않다.그러나 응용 프로그램의 요구 사항에 맞는 형태의 트리를 만들어 사용해야 한다. N항 트리의 예시와 컴퓨터 분야에서의 쓰임회사의 조직도와 같은 경우를 N-항 트리..

유니티 포톤서버를 이용한 채팅 시스템 구현완료 파티기능 제작 시작

https://github.com/kwon1232/HDProject GitHub - kwon1232/HDProjectContribute to kwon1232/HDProject development by creating an account on GitHub.github.com 중간에 떠있는 건 파티 시스템 구현 하기 위해 만들어둔 UI이다.오늘은 친구랑 저녁먹고 들어와서 10분정도 밖에 못만져서 아쉽다.내일은 시간 투자좀 해야겠다.

프로그래머스 LV.3 이중우선순위

GitHub :https://github.com/kwon1232/CodingTest/tree/main/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/3/42628.%E2%80%85%EC%9D%B4%EC%A4%91%EC%9A%B0%EC%84%A0%EC%88%9C%EC%9C%84%ED%81%90 CodingTest/프로그래머스/3/42628. 이중우선순위큐 at main · kwon1232/CodingTestThis is an auto push repository for Baekjoon Online Judge created with [BaekjoonHub](https://github.com/BaekjoonHub/BaekjoonHub). - kwon1232/..

C++ 20 중첩 클래스

중첩 클래스클래스 정의에는 데이터 멤버와 멤버 함수 뿐만 아니라 중첩 클래스, 구조체, 타입 앨리어스(typedef), 열거 타입(enum)도 선언할 수 있다.클래스 안에서 선언한 모든 것은해당 클래스의 스코프로 제한된다.public으로 선언한 멤버를 클래스 외부에서 접근할 때는ClassName::과 같이 스코프 지정 연산자를 붙여야 한다.클래스 정의 안에서 다른 클래스를 정의할 수도 있다.예를 들어 SpreadsheetCell 클래스를Spreadsheet 클래스 안에서 접근할 수 있다.그러면 Spreadsheet 클래스의 일부분이 되기 때문에이름을 간단히 cell이라고 붙여도 된다.예를 들면 다음과 같다.export class Spreadsheet{ public : class Cell ..