남민우의 공부 블로그

고정 헤더 영역

글 제목

메뉴 레이어

남민우의 공부 블로그

메뉴 리스트

  • 홈
  • 태그
  • 방명록
  • 분류 전체보기 (102)
    • 내일배움캠프 학습 (51)
      • HTML (7)
      • SQL (10)
      • JavaScript (13)
      • Node.Js (8)
      • 진행 프로젝트 (10)
      • 네트워크 (2)
      • TCP Echo Server (1)
    • 유니티 학습 (17)
      • 세미나 자료 (17)
    • 언리얼 학습 (0)
    • 게임 이야기 (1)
      • 로스트 아크(Lost Ark) (1)
    • 프로그래밍 및 언어 (28)
      • 코딩 테스트 문제 (17)
      • 자료구조 학습 (11)
    • 개인 일상 (2)

검색 레이어

남민우의 공부 블로그

검색 영역

컨텐츠 검색

분류 전체보기

  • [C#] 해시 기반 카운팅 알고리즘

    2025.04.23 by 남민우_

  • #11. 배열을 이용한 리스트의 구현

    2025.01.17 by 남민우_

  • #10. 추상 자료형 : Abstract Data Type(ADT)

    2025.01.14 by 남민우_

  • #1. TCP Echo 서버 만들기 (1)

    2025.01.06 by 남민우_

  • #5. 타워 디펜스 - KPT 회고

    2025.01.02 by 남민우_

  • #5. 타워 디펜스 - 트러블 슈팅

    2025.01.01 by 남민우_

  • IOCP (Input/Output Completion Port)

    2024.12.23 by 남민우_

  • [C++] 연속 부분 수열 합의 개수 - 프로그래머스

    2024.12.23 by 남민우_

[C#] 해시 기반 카운팅 알고리즘

문제가장 많이 등장한 문자 찾기문자열이 주어졌을 때, 가장 많이 등장한 알파벳 문자와 그 횟수 찾기. 대소문자는 상관하지 않는다. 예시 입력 : 'UnityDevelopment'예시 출력 : 'n most used for Count : 3' 풀이internal class Class1{ static void Main() { string input = "UnityDevelopment"; Dictionary calcCount = new(); foreach (char x in input.ToLower()) { if (calcCount.ContainsKey(x)) calcCount[x]++; else calcCount[x] = 1; } char maxChar = '\0'; int maxCoun..

프로그래밍 및 언어/코딩 테스트 문제 2025. 4. 23. 18:10

#11. 배열을 이용한 리스트의 구현

리스트의 이해리스트는 크게 두 가지, 1. 순차 리스트와 2. 연결 리스트로 나눌 수 있다.1. 순차 리스트는 '배열'을 기반으로 구현된 리스트를 말하며,2. 연결 리스트는 '메모리의 동적 할당'을 기반으로 구현된 리스트로이 두가지는 '구현 방법'을 기준으로 구분지었다는 것을 알 수 있다.다만 이 구현 방법이 '어떻게 구현을 하느냐' 가 달라지는 것이지 그에 따라 제공되는 기능이 달라지는 것은 아님을 알고 가야 한다. 이러한 리스트는 두가지 특징을 가지고 있는데1. 저장 형태는 '데이터를 나란히(하나의 열로) 저장한다는 것과2, 중복되는 데이터의 저장을 허용하는 특성이 있어이 특징들을 유지하려다 보니 배열과 연결의 형태가 갖춰지는 것이라고 이해할 수 있다. 리스트 자료구조의 ADT여기서 LData는 저장..

프로그래밍 및 언어/자료구조 학습 2025. 1. 17. 22:57

#10. 추상 자료형 : Abstract Data Type(ADT)

추상 자료형이 추상 자료형(이하 ADT)이란, 말 그대로는 자료형(기능)을 추상적으로 정의한 것으로 '구체적인 기능의 완성과정을 언급하지 않고, 순수하게 기능이 무엇인지 나열한 구조' 를 의미한다.이러한 ADT를 자료구조에 반영하였다는 것은 보다 더 좋은 코드를 만들어냈다 라는 뜻을 가지고도 있다. 먼저 자료형이란? '기능'을 말한다.키보드의 입력, 핸드폰의 알람 등 여러 기능이 있을텐데, 지갑의 추상 자료형을 예시로 들어보자면- 카드의 삽입/추출 이 가능하다.- 현금의 삽입/추출이 가능하다.라는 하나하나의 기능을 설명할 수 있다.다만 여기서 카드의 삽입이 어떤 동작으로 이루어지고, 추출이 어떤 동작으로 이루어지는지 그에 대한 진행 과정은 언급하지 않았는데, 이렇게 기능을 나열하되 진행 과정에 대해서는 ..

프로그래밍 및 언어/자료구조 학습 2025. 1. 14. 00:30

#1. TCP Echo 서버 만들기 (1)

TCP Echo 서버란?TCP 프로토콜을 사용하여 클라이언트가 보낸 데이터를 그대로 다시 돌려주는(Echo) 간단한 네트워크 서버이다. 동작 방식으로는1. 클라이언트가 서버에 TCP 연결 요청 전송2. 서버는 연결을 수락하고 클라이언트로부터 데이터 전달 받음3. 받은 데이터를 그대로 클라이언트에게 재전송4. 이후 처리의 단계로 나누어진다. 이 3번의 과정에서 핸들러를 통해 데이터를 추가적으로 처리하는 등의 추가 동작이 가능하다. 비록 Echo 본연의 성질은 아니게 되지만 말이다. 이전에는 HTTP 기반 웹 서버를 학습했었는데, 사용 프로토콜이나 용도 등에서 서로 다른 면모를 보이는 서버라고 할 수 있겠다. 실습이전 웹 서버에서는 'express', 'prisma' 등 여러 라이브러리를 사용한 것에 비해 ..

내일배움캠프 학습/TCP Echo Server 2025. 1. 6. 22:06

#5. 타워 디펜스 - KPT 회고

K : Keep 현재 만족하고 있는 점 - 프로젝트 마감 일정에 맞게 전체 로직을 구현 완료하였다. - 규칙적이고 원활한 소통으로 팀원 간에 불화 없이 일정을 잘 소화하였다. - 프로젝트 초기 단계에서 API/웹소켓 이벤트 명세서 등 통일된 구조를 설계하고 시작한 것이 원활한 프로젝트 진행에 도움이 되었다. - Eraser, 구글 스프레드 시트 등 공유 작업 환경을 적절히 활용하여 프로젝트 관리에 도움이 되었다. - 프로젝트 내 구성 요소에 따라 담당자를 구별하여 제작하였다. 정리통일된 구조 설계와 효과적인 소통 및 작업 환경 활용으로 팀원 간 협력과 일정 준수를 통해 프로젝트를 성공적으로 완료하였다. P : Problem 개선이 필요한 점 - 경험 부족으로 인한 설계 미스 및 일정 관리가 아쉬웠다. -..

내일배움캠프 학습/진행 프로젝트 2025. 1. 2. 19:18

#5. 타워 디펜스 - 트러블 슈팅

트러블 슈팅12월 23일부터 1월 2일까지 진행한 팀 프로젝트 '타워 디펜스' 도중 있었던 문제 상황에 대한 트러블 슈팅을 해보려고 한다. 이번 프로젝트도 지난 RealTime 프로젝트와 동일하게 서버와 클라이언트의 통신이 주된 웹소켓 프로젝트였기에 진행하는 동안 많은 이슈들이 있었고 이번에는 그 중에서도 특히 '패킷 핸들러 교차 오류' 에 대해 이야기 해보려고 한다. 패킷 핸들러 교차 오류정확한 상황을 설명하자면 서버와 클라이언트가 소켓을 통해 데이터를 주고 받던 중, 요청을 보낸 위치에 정확하게 데이터가 전달되지 않고 다른 위치에서 응답을 받는 상황이 나타난 것이다.이 SendEvent 함수는 클라이언트 측에서 socket.emit 을 통해 서버에게 데이터를 요청하는 함수이다.데이터를 요청하는 위치에..

내일배움캠프 학습/진행 프로젝트 2025. 1. 1. 17:51

IOCP (Input/Output Completion Port)

IOCP란?Windows 운영체제에서 제공하는 비동기 입출력 모델 중 하나로, 고성능 서버 애플리케이션에서 효율적인 네트워크와 파일 입출력을 처리하기 위해 설계된 메커니즘이다.Input, Output의 완료를 담당할 포트를 직접 지정해서 처리하겠다는 의미를 갖고 있다. 비유하자면 택배 분류 센터와 같다고 할 수 있다.택배 분류 센터에서는 다음과 같은 단계로 작업이 진행될 것이다. 택배 요청 - 분류 센터에서 처리가 '완료된 요청만' 작업자가 가져가서 배달 - 작업자 수는 요청 개수에 맞춰 동적으로 조절 IOCP는 스레드 활성화 수를 동적으로 조절하여 요청에 맞는 스레드 수로 처리해, 자원을 효율적으로 관리하는 방법이라고 말할 수 있다. 목적IOCP의 원초적 목적은 '자원의 효율적 관리' 이다.다만 이 효..

내일배움캠프 학습/네트워크 2024. 12. 23. 22:02

[C++] 연속 부분 수열 합의 개수 - 프로그래머스

문제제한 사항예시풀이#include #include int solution(vector elements) { vector summary; for (int i = 0; i  문제의 핵심이라고 파악한 두가지는1. 최대 인덱스를 넘겨도 다시 처음부터 인덱스를 카운트하는 원형 배열의 합 구하기2. 중복 제거이렇게 였다. 먼저 예시를 보면 알 수 있듯이 연속 부분 수열의 합을 구하는 가짓수는 길이가 1부터 elements 전체까지, 총 element.size()만큼 반복되어 이를 for문을 이용해 돌린다.길이가 1인 경우, 길이가 2인 경우 ... 를 따지게 된 것이고, 이 안에서 다시 합의 경우의 수를 구해야하므로 이중 for문을 사용해주었다. int index = j % elements.size()..

프로그래밍 및 언어/코딩 테스트 문제 2024. 12. 23. 10:47

추가 정보

인기글

최신글

페이징

이전
1 2 3 4 5 ··· 13
다음
TISTORY
남민우의 공부 블로그 © Magazine Lab
페이스북 트위터 인스타그램 유투브 메일

티스토리툴바