일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- this call
- increment operator
- member function pointer
- 더 지니어스 양면포커
- diamond inheritance
- delete function
- suffix return type
- std::vector
- std::ostream
- virtual function
- dynamic_cast
- conversion constructor
- constructor
- base from member
- c++ basic practice
- return by reference
- vector size
- placement new
- virtual inheritance
- operator overloading
- vector capacity
- pointer to member data
- new&delete
- std::cout
- virtual function table
- virtual destructor
- c++ multi chatting room
- std::endl
- discord bot
- C++
- Today
- Total
목록전체 글 (99)
I'm FanJae.
1. 주요 구현 로직 - 카드 비교 로직- CALL, RAISE 상황에 따른 처리2. Server 처리- 카드 비교 로직GameType Room_Manager::compareCard(const SOCKET socket, BetType bet_type){ BetType bet_type_info[2] = { BetType::NONE, BetType::NONE }; int user_card_info[2] = { 0 }; int vs_card_info[2] = { 0 }; for (auto& pair : users) { auto& user = pair.second; if (pair.first == getUserNumberFromSocket(socket)) { bet_type_info[0] = user..
1. 주요 구현 로직 (Server)- 게임 시작- 칩 정보 업데이트 및 기본 베팅 처리- 카드 배분- 베팅 처리2. Server 처리 (게임 시작 Event)2-1. 게임 시작if (roomManager->All_User_Start_Ready_State()){ send_message = GAME_CLIENT_EVENT + START + DONE; roomManager->broadcast_Message(send_message, socket, TargetType::ALL); gameInit(socket, InitType::INIT); send_message = GAME_CLIENT_EVENT + GAME_INIT; roomManager->broadcast_Message(send_message, socket..
1. 문제 링크https://www.acmicpc.net/problem/3015 2. 문제 접근- 왼쪽에서 오른쪽으로 볼 때, A와 B가 서로 볼 수 있으려면 A 또는 B보다 키가 큰 사람이 없어야 한다.- 2 4 1 2 2 5 1이면 다음과 같다.- (2,4) (4,1) (4,2) (4,2) (4,5) (1,2) (2,2) (2,5) (2,5) (5,1)- 어떤 수(왼쪽 수) 입장에서 자신보다 큰 수가 등장했다는 것은 해당 인원들은 더 이상 쌍을 만들 수 없다. - 그 수를 기준으로 모두 pop()한다. pop()한 개수 만큼 더해준다. (pop된 수와 쌍을 만들 수 있음.)- 오른쪽 수의 입장에서 왼쪽수가 자신보다 크다면, 적어도 왼쪽에 있는 수 중에는 쌍을 만들 수 있는건 1개다.- 같은 수일때는 ..
1. 주요 구현 로직 (Client)- 게임 시작- 칩 정보 업데이트 및 기본 베팅 처리- 카드 배분- 베팅 처리2. Client 처리 (게임 시작 Event)2-1. 게임 시작 private void ChattingRoom_Form_KeyDown(object sender, KeyEventArgs e) { if (this.isGamePlaying == false && IsSocketConnected(socket)) { if (e.KeyCode == Keys.F5 && My_Ready.Text == "") // F5를 눌렀을때 { string request = Constants.ROOM_EVENT + Constants.USER_READY_S..
1. 문제 링크https://www.acmicpc.net/problem/17298 2. 문제 접근- 왼쪽에서 오른쪽으로 볼때, 자신보다 큰 수 중에서 가장 가까운(왼쪽에 있는 수)를 구하면 된다.- 어떤 수를 기준으로 자신보다 큰 수가 등장했다는 건 그 수의 정답이 확정된다.- 즉, 큰 값이 나타날때까지 stack에 넣어주고 대기한다. 자신보다 큰 수가 등장하면 그 수가 정답이 된다.- 3을 처음 넣을때는 아무것도 없으므로, 바로 넣어준다. 이후 들어오는 값인 5는 스택에 있던 값인 3보다 크므로 오큰수다.- 이에 따라서, 3을 빼주고, 3에 대한 오큰수는 5임을 알 수 있다. - 2의 경우는 5에 대한 오큰수가 될 수 없기 때문에 그대로 넣는다.- 마지막으로 들어오는 7은 2보다 크기 때문에 2의 오큰..