전체 글5 프로그래머스 42578 의상 (C++) 문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/42578문제 요약코니가 입을 수 있는 의상의 경우의 수를 구하는 문제입니다.풀이입을 수 있는 의상의 모든 경우의 수를 구하려면 각 의상 종류별 갯수를 곱하면 됩니다.예) 얼굴 의상 수 * 상의 의상 수 * 하의 의상 수 = 입을 수 있는 모든 경우의 수 그러나 특정 의상을 입지 않는 경우도 가능하므로, 입지 않는 경우를 위해 1을 더하여 곱해줍니다.예) (얼굴 의상 수 + 1) + (상의 의상 수 + 1)* (하의 의상 수 + 1) = 특정 의상을 입지 않는 경우가 반영된 경우의 수 문제의 조건에서 아무것도 입지 않는 경우는 허용하지 않으므로, 위에서 계산한 경우의 수에서 얼굴 안입음 + 상.. 2026. 5. 28. 프로그래머스 42577 전화번호 목록 (C++) 문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/42577문제 요약전화번호부에서 한 전화번호가 다른 전화번호의 접두어인 경우에 false를 반환하고, 그렇지 않을 경우 true를 반환하는 함수를 작성하는 문제입니다.풀이전화번호 개수의 최댓값이 100만 이므로 모든 전화번호를 서로 대조하며 접두어 관계를 검사하는 방식은 사용할 수 없습니다. (O(N²) 시간 복잡도 이므로 100만 * 100만 = 1조, 시간초과) 전화번호부의 각 전화번호는 문자열 형태이므로, 전화번호부 정렬 후 접두어 관계에 있는 전화번호들은 반드시 인접하게 되므로, 전화번호부를 순회하며 인접한 두 문자열을 비교하는 방식으로 접두어 관계를 검사할 수 있습니다.이 방식을 사용.. 2026. 5. 28. 프로그래머스 1845 폰켓몬 (C++) 문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/1845 문제 요약전체 폰켓몬 N 마리 중, N/2 마리를 골랐을 때, 가질 수 있는 가장 많은 종류의 값을 구하는 문제입니다.풀이전체 폰켓몬 N/2 마리 중 가장 많은 종류의 폰켓몬을 고르는 것이므로 종류의 최대값은 N/2을 넘을 수 없습니다(고른 N/2 마리가 전부 다른 종류일 경우가 가장 많이 고른 것임).그리고 전체 폰켓몬의 종류의 수를 X라고 했을때 X가 N/2보다 작다면, 고를 수 있는 종류의 최대값은 X를 넘을 수 없습니다(아무리 잘 골라도 전체 폰켓몬 종류보다 많은 종류를 고를 수 없음). 따라서, 전체 폰켓몬 종류 수 X를 구한 후, X와 N/2 중 더 작은 값이 -> N/2 .. 2026. 5. 28. 프로그래머스 42576 완주하지 못한 선수 (C++) 문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/42576풀이참가자(participant) 목록에서 완주자(completion) 목록의 원소들을 지웠을 때 참가자 목록에 남은 원소가 완주하지 못한 선수입니다. 참가자 수의 최대값이 10만 이므로 시간복잡도가 O(N²) 일 경우 10만 * 10만 = 10억 으로 시간초과가 발생합니다.참가자 목록을 HashTable 기반의 자료구조에 복사하고, 완주자 목록을 순회하며 각 원소의 이름을 HashTable 목록에서 지워주는 방식으로 진행하면 O(N) 으로 풀 수 있습니다. 그리고 이 문제에서는 동명이인이 있을 수도 있습니다.Hash table 기반의 자료구조는 중복을 허용하지 않으므로, Key.. 2026. 5. 28. 실시간성이 중요한 게임 서버 구현에 C++을 사용하는 이유 과거 게임서버 구현은 C++을 사용하여 구현하는 경우가 대부분이었지만, 최근 모바일 류 게임들 중 실시간성이 중요하지 않은 경우, 개발 생산성과 인력 수급에서 유리한 C#, Java 등을 사용하여 서버를 구현하는 경우가 늘고 있습니다.그러나 MMORPG 같이 실시간성이 중요한 경우, 여전히 C++로 서버를 구현하는 경우가 많습니다. 턴제, 방치형 게임처럼 서버가 사용자의 요청(사용자 이벤트)이 왔을 때만 일을 하면 되는 경우에는 실시간성이 크게 중요하지 않으며, 이러한 서버를 이벤트 기반 서버라 부릅니다. MMORPG처럼, 서버가 사용자의 요청이 없어도 계속해서 플레이어 위치, 충돌 여부 판정 등을 계산하는 경우에는 실시간성이 크게 중요하며, 이러한 서버를 Tick 기반 서버라 부릅니다. 오늘은 개발 생.. 2026. 5. 26. 이전 1 다음