반응형
인기글
실무 면접 대비  1번째 C / C++ (게임 클라이언트 프로그래머 기준)
실무 면접 대비 1번째 C / C++ (게임 클라이언트 프로그래머 기준)
◽ 게임회사
2021.02.22 00:37
게임 클라이언트 프로그래머가 준비해야 할 실무면접 리스트입니다. 취준 할 때 만들었던건데 공유하려고 올립니다.  준비해야 될 영역을 간략하게 비중과 함께 이야기하면, 1. C / C++ (40% ~ 60%)2. 그래픽스 개념 (20%)3. 운영체제 (10%~20%)4. 데이터베이스 (10%)5. 알고리즘, 자료구조 (20%~30%) : 실무면접 기준입니다. 알고리즘과 자료구조는 코딩테스트는 당연히 100%이고필기 테스트라면 50%라고 생각하시면 될거 같습니다. 대답하는 형식으로 준비했으니 고려해주세요.첫번째 C++기초 프로그래밍 기초 예상 질문1. C++의 특징을 말해주세요.C++언어는 객체지향언어로 4가지의 특징이 있습니다.첫번째 다형성입니다. 하나의 객체가 여러 가지 타입을 가질수 있는 것을 의미합니..
1분 자기소개 (실제로 면접 때 했던...)
1분 자기소개 (실제로 면접 때 했던...)
◽ 게임회사
2021.02.22 00:56
1분 자기소개가 얼마나 중요하신지 다들 알거라고 생각합니다. 면접관님이 노트북에 적힌 자기소개서를 보면서 듣다가 얼굴을 쳐다 보느냐 안보느냐가 큰 싸인인거 같습니다. 가장 중요한 것은 중복된 말을 하지않고 간결하며 자기가 이 업무를 위해 남긴 작은 업적을 나열하는 것이 제일 좋지 않을까 생각합니다. 그리고 큰 소리로 면접관님을 쳐다보고 ... 당돌하게 !!저는 실제로 사용했던 1분 자기소개를 공개하려고 합니다. 이건 참고만 해주세요!!안녕하세요. 클라이언트 직무에 지원한 XXX입니다. 저는 게임 프로그래밍에 관심이 생겨 디자인학과에서 게임공학으로 편입 후 게임을 제작한 경험이 총 4번 있습니다. 이 중 마지막 게임은 학교의 산업대전에서 우수작으로 선정됨으로서 완성도를 확인한 작품이기도 합니다. 3년간 게..
[windbg] windbg 사용하기, 덤프 분석하기
[windbg] windbg 사용하기, 덤프 분석하기
◽ 툴(tool)
2024.06.26 15:59
"[windbg] windbg 사용하기, 덤프 분석하기" 1. 덤프를 읽을 심볼과 심볼에 맞는 소스코드 경로를 연결시킨다.   2. 덤프를 windbg에 드래그 드롭 또는 open으로 파일을 열면 이런 화면을 볼수 있다.Loading Dump File : 덤프 파일의 위치, 덤프 종류 Executable search path is : 덤프가 발생한 OS Debug sesstion time : 덤프 발생 시점 시간 Process Uptime: 부팅 이후 동작한 시간   3. !analyze -v 명령어 실행 !analyze-v 명령어를 실행하면 더욱 자세하게 덤프 내용이 나온다.FAULTING_IP: 어떤 부분에서 문제가 일어났는지 표시한다. callstack의 마지막 부분이다. KERNRLBASE.ddl..
(VCS) svn 사용 방법 익히기!
(VCS) svn 사용 방법 익히기!
◽ 툴(tool)
2022.12.31 23:01
SVN의 용어 정리 1. 저장소(Repository) : 모든 프로젝트의 프로그램 소스들은 이 저장소 안에 저장이 된다. 코드뿐만이 아니라 코드의 변경 사항도 모두 저장됩니다. 네트워크를 통해서 여러 사람이 접근 할 수 있다. 2. 트렁크(Truck) : 가장 중심이 되는 메인 저장소(메인 코드라인). 브랜치도 트렁크에서 부터 시작이 된다. 3. 브랜치(Branch) : 나무 가지라는 뜻으로, 트렁크에서 따로 분류에서 개발을 해야할때나 한 부분을 공동 작업을 할 때 역할 분담을 하기 위해 나눌때 사용한다. 이 나눠져 있는 나무 가지는 트렁크로 merge한다. 4. 태그(Tag, 라벨) : 꼬리표라는 뜻으로, 프로그래을 개발하면서 정기적으로 릴리즈할때 라벨링을 한다. 로그랑 다름. Update 현재 설정된..
실무 면접 대비 2번째 알고리즘, STL, 자료구조 (게임 클라이언트 프로그래머 기준)
실무 면접 대비 2번째 알고리즘, STL, 자료구조 (게임 클라이언트 프로그래머 기준)
◽ 게임회사
2021.02.22 00:43
0. STL이란 뭔가요? Standard Template Library로 C++의 템플릿을 사용하여 표준으로 정리된 라이브러리입니다. 반복자/컨테이너/알고리즘/함수 객체등의 라이브러리로 구성됩니다. 1. 시퀀스 컨테이너, 연관 컨테이너, 어뎁터 컨테이너에 대해서 설명해주세요. (자료의 구조로 구분을 하면…)시퀀스 컨테이너는 자료를 입력한 순서대로 저장하기 때문에 저장 검색 알고리즘이라고 불립니다. 많지 않은 양의 자료/검색속도가 중요하지 않은 경우에 사용되며 vector, list, string, dequue등이 이에 해당합니다. 연관 컨테이너는 일정한 규칙에 따라 자료를 조직화하여 저장하는 것을 말합니다. 자료를 정렬하여 저장하기 때문에 검색에 유리하고 많은 양의 자료/빠른 검색이 중요할 때 사용합니다..
클라이언트 프로그래머 동영상 포트폴리오
클라이언트 프로그래머 동영상 포트폴리오
◽ 게임회사
2022.12.13 14:21
신입으로 취준 할 때 사용한 동영상 포트폴리오 (아직도 신입이지만.^^) 입니다. 쉐이딩 작업 보여줘야 해서 고화질로 올리려고 했는데 용량이 커서 안 올라가네요. 어쩔 수 없이 저화질로 올립니다.이 포트폴리오로 대부분의 회사 서류는 통과했었습니다. (한 곳 빼고 ㅠㅠ)제 블로그 포스팅 최고 조회가 면접 준비 관련 포스팅입니다.연관 검색도 포트폴리오, 면접, 취업 등등이었습니다.조금이나마 도움되고 싶어서 참고용으로 올립니다.참고용으로 올리는 거고 재사용을 할 생각이라서 절대 재배포 하지 말아주세요. 끝!
최신글
(백준/c++) 1987 - 알파벳/ DFS, 백트래킹
◽ 백준2024.08.27 12:36(백준/c++) 1987 - 알파벳/ DFS, 백트래킹

" (백준/c++) 1987 - 알파벳/ DFS, 백트래킹"https://www.acmicpc.net/problem/1987🏆 solved.ac 난이도: 골드4 BFS로 풀었다가 ~ DFS와 Set을 함께해서 풀었다가 시간초과로 막혀서 Set을 없애고 문제를 풀었다.. 🔸 BFS로 풀었을 때 나왔던 이슈 - BFS는 넓이 우선으로 빨간색으로 체크한 부분이 이전 파란색 Que에 [F]가 담겨  파란색[E] 주변 노란색[H] [F]을 담으려 할 때 [F]가 빠지게 된다.   🔸 DFS + Set 풀이 Set으로 find해서 지나간 경로에 현재 알파벳이 포함되었는지 확인하려고했다.Set의 find 시간복잡도는 O(logN)배열은 바로 접근 가능하기 때문에 O(1)set alphabets;alphabets..

(백준/c++) 1238 - 파티 / 최단경로그래프, 플로이드 워샬
◽ 백준2024.08.22 17:12(백준/c++) 1238 - 파티 / 최단경로그래프, 플로이드 워샬

"(백준/c++) 1238 - 파티 / 최단경로그래프, 플로이드 워샬"https://www.acmicpc.net/problem/1238 🏆 solved.ac 난이도: 골드3 🔸 문제 핵심 단방향 도로갔다가 돌아오는 최단경로  🔹 주요 코드 부분파란줄: form ~ stopper 시작점부터 경유지까지 무한이면, 연결되어 있지 않는다는 뜻이기 때문에 무시해주자.노란줄: 시작점부터 도착점 > 시작점부터 경유지 + 경유지부터 도착점이 구조를 외우지 말고 완화(relax)를 이해하자. #include#include#includeusing namespace std;//vector> students[1'001]; int students[1'001][1'001];int result[1'001];int main(v..

[ Algorithm / 벨만 포드 알고리즘 ] + 백준 1865 웜홀 문제풀이
◽ 알고리즘2024.08.22 15:26[ Algorithm / 벨만 포드 알고리즘 ] + 백준 1865 웜홀 문제풀이

"벨만 포드(bellman-ford) 알고리즘 " 알고리즘 이름이 맘에 안든다. =3= 알고리즘이나 수학적 법칙을 보면 발견한 사람들의 이름으로 이름을 만든다. 직관적이지 않아서 계속 까먹게 된다. 직관적으로 이름을 지어줬으면 좋겠다. 예를 들어, "음수사이클 다익스트라" 이런식으로 ~  1. 최단 경로 트리 (shortest-path tree), 최적해 구조(optimal substructure 알고리즘이다. 답은 여러개가 존재 할 수 있으면 가중치가 있는 그래프로 최단 경로를 찾는다.  2. 음수 사이클의 유무를 확인할 수 있다. 다익스트라랑 다른 점!!으로 음수 사이클의 발생으로 최단 경로가 무한으로 빠지는 음수차이클을 찾는다.  3. 모든 음수 간선이 문제다 ? 아니다. (-) 마이너스 값이 있는..

(백준/c++) 10026 - 적록색약 / BFS, 그래프
◽ 백준2024.08.20 16:12(백준/c++) 10026 - 적록색약 / BFS, 그래프

"(백준/c++) 10026 - 적록색약 / BFS, 그래프"🏆 solved.ac 난이도: 골드5  #include#includeusing namespace std;char grid[101][101];bool visited[101][101] = {false,};bool visitesd[101][101] = { false, };int direction[4][2] = { {-1, 0} , {0, 1}, {1, 0}, {0 ,-1} };int mTC;int normalCount = 0;int blindnessCount = 0;queue> normalPerson; queue colorblindness;void normalFunc(int i, int j);void bilndnessFunc(int i, int j..

(백준/c++) 11403 - 경로찾기 / BFS, 그래프
◽ 백준2024.08.16 17:59(백준/c++) 11403 - 경로찾기 / BFS, 그래프

"(백준/c++) 11403 - 경로찾기 / BFS, 그래프"https://www.acmicpc.net/problem/11403  🏆 solved.ac 난이도: 실버1 오늘 쉬는 날이라 문제 푸는게 재미있다.Array 변수 이름은 Floyed이지만? 플로이드 와샬보다 BFS를 사용해서 푸는게 더 편할거 같아서 BFS로 풀었다. 다른 BFS와 다른 점은 모든 점에서 방문을 초기화 시켜줘야한다. ex ) 1 -> 5 -> 6 -> 7  이런 연결이 있을 때, 1을 5, 6, 7을 모두 방문 할 수 있다는 표시를 해줘야하고 그 다음 5번, 6번, 7번점도 이전에 방문 했더라도 연결되었는지 확인하기 위해 점 시작점에서 방문을 초기화 해야한다. #include#include#include#includeusing..

(백준/c++) 11724 - 연결 요소의 개수 / BFS, 그래프
◽ 백준2024.08.16 16:17(백준/c++) 11724 - 연결 요소의 개수 / BFS, 그래프

"(백준/c++) 11724 - 연결 요소의 개수 / BFS, 그래프"https://www.acmicpc.net/problem/11724🏆 solved.ac 난이도: 실버2 난이도는 쉬웠다. DFS, BFS 아무거나 골라서 풀수 있는 문제이다. 하지만~ 나는 5번 정도 틀렸다. 이유는 방향성이 없는 그래프인데 방향성이 있게 한 쪽만 입력해주고 있었다. ㅠㅠ 방향성이 없는 그래프라면 꼭 정점 양쪽을 비교할 수 있도록 해주자.  // 연결 요소의 개수 #include#include#includeusing namespace std; bool visit[1001] = { false, }; vector distributingLine[1001]; queue que;int main(void){ int N, M; ..

(백준/c++) 14940 - 쉬운 최단 거리 / DFS, 그래프
◽ 백준2024.08.16 12:39(백준/c++) 14940 - 쉬운 최단 거리 / DFS, 그래프

" (백준/c++) 14940 - 쉬운 최단 거리 / DFS, 그래프 "https://www.acmicpc.net/problem/14940 🏆 solved.ac 난이도: 실버1이 문제는 쉽게 풀어서 solved.ac에 검색해봤는데 실버 1 문제당.. 힝 !!! 내 실력은 아직 골드5, 실버1 정도 되는거 같다 ㅠㅁㅠ 넓이 우선 문제로 시작점부터 찬찬히 넓혀가면 되는 문제다. 항상 BFS문제에서 실수하는 부분을 다시 짚고 넘어가려고 작성한다.  que에 조건이 되는 노드를 push 할 때 방문처리를 해주는거다. pop 하면서 방문처리하니깐 괜찮지 않나? 생각하면서 항상 빼곤 한다.그렇게 되면 아래와 같이 E가 que에서 pop되고 방문처리하기 전에 D에서 'visit false군!!" 하면서 que에 넣..

[ Algorithm/ KMP 알고리즘 ]
◽ 알고리즘2024.07.23 16:39[ Algorithm/ KMP 알고리즘 ]

" Algorithm/ KMP 알고리즘 " 🔸 KMP( Knuth, Morris, Prett ) Algorithm? 대표적인 상수시간 내에 할 수 있는 문자열 검색 알고리즘이다. 명칭은 알고리즘 쓰임새와 상관없이 만든 사람이름이다. 문자열 매칭 알고리즘이라고 부르는게(?) 더 좋을거 같다.  🔸 해답https://www.acmicpc.net/problem/1786"baekjoon 1786번 - 찾기"와 함께 kmp 알고리즘을 배우고 풀어보자. P: 패턴(길이: m) T: 텍스트(길이: n) 만약 모든 매칭을 하나하나 확인한다면? (n - m + 1) x m  = 시간 복잡도 O(nm)목표: 시간 목잡도 O(n) 만들기.  🔥 step 1.  찾으려는 문자열 전처리 과정 거치기 접두사(이을 접 : 接..

(백준/ C++) 12101- 1, 2, 3 더하기2 / 다이나믹 프로그래밍, 재귀
◽ 백준2024.07.19 18:27(백준/ C++) 12101- 1, 2, 3 더하기2 / 다이나믹 프로그래밍, 재귀

"(백준/ C++) 12101- 1, 2, 3 더하기2 / 다이나믹 프로그래밍, 재귀"https://www.acmicpc.net/problem/12101  https://cclient.tistory.com/128 (백준/ C++) 9095 - 1, 2, 3 더하기 / 다이나믹 프로그래밍, 재귀" ( 백준/ C++ ) 9095 - 1, 2, 3 더하기 "https://www.acmicpc.net/problem/9095 문제 보자 마자.. 음 ? 재귀 ? 했고, n은 11보다 작은 양수였다. dp로 안 풀어도 되는 문제 아닌가 생각했다. 아래와 같이 어떠한 방법cclient.tistory.com이 문제 연장선이다. 별로 어렵지 않았지만 꾸역꾸역 넣은 느낌이든다. DFS 이기 때문에 중위순회로 되어있다. 위 ..

(백준/ C++) 1010 - 다리 놓기 / 다이나믹 프로그래밍, 재귀
◽ 백준2024.07.19 16:23(백준/ C++) 1010 - 다리 놓기 / 다이나믹 프로그래밍, 재귀

"(백준/ C++) 1010 - 다리 놓기 / 다이나믹 프로그래밍, 재귀"https://www.acmicpc.net/problem/1010 N을 늘려보면서 비교를 해보니 규칙을 쉽게 발견 할 수 있었다. N(강 서쪽)의 맨 위 다리가 M(강 동쪽)에 위치할 수 있는 조건은 N은 빠짐 없이 모두 연결은 되야 하므로 M - N + 1이 된다. DP [ N ][ M ] 이라고 만들 때, 아래 그림과 같이 규직을 찾을 수 있는데 N이 1일때는 M의 개수 만큼 경우의 수가 생긴다. 이 조건은 함수의 return(반환) 조건으로 사용하면 된다.또 N과 M이 같을 때는 모든 다리를 연결 하므로 언제나 하나의 경우의 수이다. 이거 또한 함수의 return(반환)조건으로 사용한다. N(강 서쪽)의 맨 위 다리를 M(강 ..

(백준/ C++) 9095 - 1, 2, 3 더하기 / 다이나믹 프로그래밍, 재귀
◽ 백준2024.07.19 11:37(백준/ C++) 9095 - 1, 2, 3 더하기 / 다이나믹 프로그래밍, 재귀

" ( 백준/ C++ ) 9095 - 1, 2, 3 더하기 "https://www.acmicpc.net/problem/9095 문제 보자 마자.. 음 ? 재귀 ? 했고, n은 11보다 작은 양수였다. dp로 안 풀어도 되는 문제 아닌가 생각했다. 아래와 같이 어떠한 방법이든 합이 N이 되면 되기 때문에 N이 되면 결과값을 ++ 해주게 코딩 했다. 개행을 안 붙여서 틀렸었는데 4%에서 틀렸다고 하면 개행 안 붙여서 이다. // 9095 - 1,2,3 더하기#includeusing namespace std;int aResult = 0;void Func(int pNum, int pTarget){ if (pNum > pTarget) return; if (pNum == pTarget) { aResult++; ..

(백준/ C++) 1520 - 내리막길 / 다이나믹 프로그래밍
◽ 백준2024.07.18 17:23(백준/ C++) 1520 - 내리막길 / 다이나믹 프로그래밍

"(백준/ C++) 1520 - 내리막길 / 다이나믹 프로그래밍" 이건 DP 중 어려운 문제에 속하는게 아닌거 같은데 잘못 생각해서 계속 틀렸다.. 처음 생각했을 때 높은 곳에서 낮은 곳으로 이동한다고 해서 위로 ↑ 갈 수 없다고 생각했는데 높은 곳과 낮은 곳의 기준은 배열 안의 숫자지 배열의 위치를 따지는 것이 아니다. 그럼 즉  → 우  ↑ 위   ← 좌  ↓ 아래 모두 가능하다.  다른 사람들의 풀이를 보면 0, 0 부터 M-1, N-1까지 오는 경로에만 1을 리턴 해준다. 나는 거꾸로 생각했고, 목적지 부터 스타트 까지 갈 수 있는 방법으로 구현했다. 사실 상 같다.  그리고 나처럼(?) 바보같이 모든 if문을 나누지 말고.. for문을 이용하자. 다른 사람들의 문제 풀이를 보면 좌,우,상,하 모..

반응형
image