본문 바로가기

분류 전체보기

(507)
[코딩인터뷰 완전정복] 4.7 순서 정하기 Q : 프로젝트의 리스트와 프로젝트들 간의 종속 관계(즉, 프로젝트 쌍이 리스트로 주어지면 각 프로젝트 쌍에서 두 번째 프로젝트가 첫 번째 프로젝트에 종속되어 있다는 뜻)가 주어졌을 때, 프로젝트를 수행해 나가는 순서를 찾으라. 유효한 순서가 존재하지 않으면 에러를 반환한다. 예시 입력 : 프로젝트: a, b, c, d, e, f 종속관계: (a,d),(f,b),(b,d),(f,a),(d,c) 출력 : f,e,a,b,d,c #include #include #include #include template std::list ordering(std::list proj, std::list relation) { int size = proj.size(); int *depNum = new int[size]; bool..
[코딩인터뷰 완전정복] 4.6 후속자 Q : 이진 탐색 트리에서 주어진 노드의 '다음' 노드(중위 후속자(in-order successor))를 찾는 알고리즘을 작성하라. 각 노드에는 부모 노드를 가리키는 링크가 존재한다고 가정하자. ...더보기 // Node.h template class TreeNode{ public: T data; TreeNode* parent; TreeNode* left; TreeNode* right; TreeNode(T data) { this->data = data; } void addLeft(TreeNode* left) { this->left = left; left->parent = this; } void addRight(TreeNode* right) { this->right = right; right->paren..
5. 클라이언트의 접속 요청을 허락하고 통신용 소켓 생성 - accept() 1. header #include 2. function int accept(int socket, struct sockaddr *addr, socklen_t *addrlen); 1) int socket : listen()으로 클라이언트의 접속요청을 받고있는 소켓 2) struct sockaddr *addr : 클라이언트 주소정보를 가지고 있는 sockaddr 구조체 포인터 3) socketlen_t *addrlen : addr 포인터가 가르키는 구조체의 크기 4) return : 성공 실패 클라이언트와의 통신 소켓 디스크립터 -1 3. 사용 #include #include #include #include #include #define PORT 80 int main() { int sock = socket(A..
[에픽스토어 무료배포] Kingdom - New lands 에픽스토어 금주의 무표 배포 게임은 Kingdom - New lands 입니다! 에픽스토어 계정이 필요하며, 1회 등록시 라이브러리에 영구히 소장됩니다. 스팀 연동은 되지 않습니다. 게임 트레일러 링크 : https://www.epicgames.com/store/ko/product/kingdom-new-lands/home 킹덤 새로운 땅 - 당신은 얼마나 오래 버틸 수 있나요? 용감하고, 지배하고, 끝까지 싸우세요. 이 새로운 땅이 대신 당신을 정복하지 않도록. 킹덤은 현대적 복고 감성과 앰비언트 사운드트랙을 갖춘 미니멀리즘 마이크로 전략 게임입니다. 플레이어는 세계를 탐험함으로써 무에서 왕국을 건설하기 위해 고군분투하는 군주를 통제하고, 충성스러운 신하를 모집하고, 밤에는 탐욕스러운 공격으로부터 방어합..
[스팀 무료배포] Polygoneer 스팀에서 Polygoneer가 무료로 배포중입니다. 기한은 20일 새벽 2시 또는 재고소진시까지! 링크 : https://store.steampowered.com/app/684680/Polygoneer/ 최소: 운영체제: Microsoft® Windows® XP or later 프로세서: Dual Core 2.0 GHZ or Better 메모리: 512 MB RAM 그래픽: Compatible with DirectX 9 저장공간: 100 MB 사용 가능 공간
4. 클라이언트에서 서버에 연결 요청하기 - connect() 1. header #include 2. function int connect(int socket, const struct sockaddr *server_address, socklen_t addrlen); 1) int socket : 서버와 연결할 소켓 2) struct sockaddr *server_address : 서버의 주소를 가지고 있는 sockaddr 구조체의 포인터 3) socklen_t addrlen : server_address 포인터가 가르키는 구조체의 크기 4) return : 성공 실패 0 -1 3. 사용 #include #include #include #include #include int main() { const int port = 80; int sock = socket(AF_IN..
[Unity] UGUI Multiple Sprite 만들기 + 이미지 자동으로 자르기 UGUI를 쓰다보면 Sprite 하나에 여러개의 이미지가 붙어 있는 것을 보게됩니다. 요것을 만들어 보겠습니다. 1. 이미지 파일 Multiple Sprte로 만들기 우선 Multiple Sprite 로 만들 이미지를 프로젝트에 추가시켜 줍니다. 한개의 이미지에 1부터 4까지의 숫자가 들어가 있는 이미지를 사용해 보겠습니다. 클릭해서 Inspector창을 열어줍니다. 제일 위에 있는 Texture Type을 Default에서 Sprite (2D and UI) 로 바꿔줍시다. 그 다음 Sprite Mode를 Multiple로 바꿔주고 Apply 해줍니다. 이제 Sprite Editor로 Sprite를 여려개로 잘라주시기만 하면 됩니다. 1,2,3,4 를 각각 드레그 해줘서 4개의 이미지로 만들어 줬습니다...
Git LFS (Large File Storage) - 100MB 이상의 파일을 깃허브에 올리기 git에는 LFS (Large File Storage)라는 기능이 존재합니다. LFS란? git에서 크기가 큰 파일을 다루기 위해서 github에서 만든 오픈 소스 입니다. 용량이 큰 파일을 외부 스토리지에 올리고 git에는 LFS (Large File Storage)라는 기능이 존재합니다. LFS란? git에서 크기가 큰 파일을 다루기 위해서 github에서 만든 오픈 소스 입니다. 용량이 큰 파일을 외부 스토리지에 올리고 리포지토리(Repository)에서는 포인터로 관리합니다. github link : https://github.com/git-lfs/git-lfs/releases/tag/v2.7.2 git-lfs/git-lfs Git extension for versioning large files..