일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 유니티 Rotate
- 유니티 Vector3
- c++ 문자열 자르기
- ML-Agents
- unity
- LayerMask
- c++
- 깊이 우선 탐색
- LFS
- 유니티 오브젝트 풀링
- LookRotation
- 유니티 InputManager
- 유니티
- git-lfs
- 오브젝트 풀링
- Raycast
- 코드블럭 테마
- 유니티 시야 가림
- 이진트리
- 유니티 머신러닝
- Quaternion.Euler
- 유니티 Collision
- 소스코드 줄번호
- 유니티 리소스매니저
- 유니티 ResourceManager
- Mathf.Clamp
- eulerAngles
- InputManager
- 너비 우선 탐색
- 알고스팟
- Today
- Total
목록IT/알고리즘 (13)
무민은귀여워
1. 문제 2. 풀이 1. 문제 https://programmers.co.kr/learn/courses/30/lessons/42888 코딩테스트 연습 - 오픈채팅방 오픈채팅방 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오 programmers.co.kr 2. 풀이 1. 처음 record를 읽으며, 유저 아이디 : 닉네임 map 을 만든다. enter, change의 경우 이름 변경하여 저장. 2. 다시 recored를 읽으며 result 문장 작성 #include #include #include #include using namespace std; vector solution(v..
1. 문제 2. 풀이 2-1. 첫번째 풀이 2-2. 두번째 풀이 1. 문제 https://programmers.co.kr/learn/courses/30/lessons/72410 코딩테스트 연습 - 신규 아이디 추천 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 programmers.co.kr 2. 풀이 문제에서 설명한 순서 그대로 따라했다. 1단계 new_id의 모든 대문자를 대응되는 소문자로 치환합니다. 2단계 new_id에서 알파벳 소문자, 숫자, 빼기(-), 밑줄(_), 마침표(.)를 제외한 모든 문자를 제거합니다. 3단계 new_id에서 마침표(.)가 2번 이상..
1. 문제 2. 풀이 2-1. 첫번째 풀이 2-2. 두번째 풀이 1. 문제 https://programmers.co.kr/learn/courses/30/lessons/92334 코딩테스트 연습 - 신고 결과 받기 문제 설명 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의 programmers.co.kr 2. 풀이 첫번째 풀이 1. 신고 리스트에서 한 유저가 동일한 유저에 대한 신고를 제외시킨다 2. 신고 리스트를 읽어, 유저별 누적 신고수를 저장 3. 신고 리스트를 읽어 정지 대상자를 확인하여, 유저별 받을 메일 수 저장 vector solution(vector id_list, ..
시간복잡도 O(big-O) 시간의 상한을 나타낸다. 배열의 모든 값을 출력하는 알고리즘은 O(N)으로 표현할 수 있지만, 이 외에 N보다 큰 big-O 시간으로 표현할 수도 있다. 예를 들어, O(N^2), O(N^3), O(2^N)도 옳은 표현이다. 다시 말해 알고리즘의 수행 시간은 적어도 이들 중 하나보다 빠르기만 하면 된다. 따라서 big-O 시간은 알고리즘 수행 시간의 상한이 되고, 이는 '작거나 같은' 부등호와도 비슷한 관계가 있다. Ω(big-Ω) 등가 개념 혹은 하한을 나타낸다. 배열의 모든 값을 출력하는 알고리즘은 Ω(N) 뿐만 아니라 Ω(logN) 혹은 Ω(1)로도 표현할 수 있다. 결국 해당 알고리즘은 Ω 수행시간보다 빠를 수 없게 된다. θ(big-θ) θ는 O와 Ω 둘 다 의미한다...
소수가 아닌 수들은 반드시 다른 소수로 나누어진다는 사실에 기반해서 동작한다. 처음 주어진 리스트는 1부터 max까지의 모든 수로 구성되어 있다. 처음에는 2로 나누어지는 모든 수를 리스트에서 없앤다. 그 후 다음 소수, 즉 아직 지워지지 않은 수 중 가장 작은 수를 찾는다. 그리고 그 수로 나누어지는 모든 수를 리스트에서 제거한다. 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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 ..
깊이 우선 탐색 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 /* 깊이 우선 탐색 */ int dfs(int now) { if (현재 상태 now가 끝나는 조건) return 현재 상태 now의 값; int ret = -1; for (int i = 0; i
// 중위 순회 void inOrderTraversal(TreeNode node) { if (node != null) { inOrderTraversal(node.left); visit(node); inOrderTraversal(node.right); } } // 전위 순회 void preOrderTraversal(TreeNode node) { if (node != null) { visit(node); preOrderTraversal(node.left); preOrderTraversal(node.right); } } // 후위 순회 void postOrderTraversal(TreeNode node) { if (node != null) { postOrderTraversal(node.left); postOr..
https://www.acmicpc.net/problem/1339 1339번: 단어 수학 첫째 줄에 단어의 개수 N(1 ≤ N ≤ 10)이 주어진다. 둘째 줄부터 N개의 줄에 단어가 한 줄에 하나씩 주어진다. 단어는 알파벳 대문자로만 이루어져있다. 모든 단어에 포함되어 있는 알파벳은 최대 www.acmicpc.net 해결방법 1. A, B, C... 를 키로, 값을 정수로 하는 맵을 준비 2. 자릿수를 가중치로 하여 해당 키값에 누적으로 저장 3. 값을 기준으로 정렬하여, 앞에서 부터 9, 8, 7... 을 부여 4. 문자열을 부여한 값으로 대치하여 계산 #include #include #include #include #include #include using namespace std; typedef p..
Bubble(버블 정렬) 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 31 32 33 34 35 36 37 38 39 #include void BubbleSort(int DataSet[], int Length) { int i = 0; int j = 0; int temp = 0; for (i = 0; i
해시테이블 효율적인 탐색을 위한 자료구조로서 키(key)를 값(value)에 대응시킨다. 간단한 해시테이블을 구현하기 위해선, 연결리스트와 해시 코드 함수만 있으면 된다. 최악의 경우 수행 시간은 O(N)이 된다. 충돌을 최소화 한 경우 O(1)이다. 또 다른 구현법으로는 균형 이진 탐색 트리를 사용하는 방법이 있다. 이 경우 탐색 시간은 O(logN)이 된다. ArrayList와 가변 크기 배열 ArrayList 는 필요에 따라 크기를 변화시킬 수 있으면서도 O(1)의 접근 시간을 유지한다. 배열이 가득차면 통상적으로 배열을 크기를 두배로 늘리고, 이 시간은 O(n)이지만, 자주 발생하는 일이 아니라서 상환 입력 시간으로 계산했을 때 여전히 O(1)이 된다. StringBuilder 1 2 3 4 5 ..