| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 백준 2193번 c++
- 코드
- 유니티 LTS
- 탈잉유튜브강의
- 백준 11726번 C++
- transform.position
- 차이
- 탈잉회사원A챌린지
- 프로그래머스 가장 큰 수 C++
- 유니티
- TOPCIT 문제 유형
- 탈잉챌린지
- 로블록스 script local script 차이
- 2644번
- 탈잉유튜브기획
- 백준 2225번 c++
- 탑싯기출
- bfs
- TOPCIT 후기
- 회사원A강의후기
- 백준 10844번 c++
- 1699번
- long int 의 차이
- 풀이
- c++
- 탑싯기출문제
- 회사원a탈잉강의후기
- 백준
- 프로그래머스 단체사진 찍기 C++
- UML Diagram 정리
- Today
- Total
목록Coding Test (53)
Kiki Devlog
11726번: 2×n 타일링 (acmicpc.net) n번째 답은 n-1번과 n-2번째의 답을 더한 값임. 어제 푼 문제와 비슷해서(계단수 문제) 금방 풀었다. 내 코드 #include using namespace std; const int divider = 10007; int dp[1001]; int main() { int n; cin >> n; dp[1] = 1; dp[2] = 2; for (int i = 3; i
9095번: 1, 2, 3 더하기 (acmicpc.net) n번째 답은 n-1, n-2, n-3번째 답을 모두 더한 값이다. ->이 식을 도출하려고 했는데..샘플 값을 잘못 계산해서 못함 ㅠㅠㅠㅠ 너무 아까워,... 내 코드 #include using namespace std; const int MAX = 12; int input[MAX]; int dp[MAX]; int main() { int size; int num; cin >> size; dp[1] = 1; dp[2] = 2; dp[3] = 4; //input 입력받기 for (int i = 0; i > input[i]; } for (int i = 0; i < size; ++i) { num = input[i]; /..
for문으로 쓰는 풀이 말고 꼭 stack을 써서 풀고싶었다. (for문은 너무 쉬워서 문제 의도대로 풀고싶었음.) 근데 stack 쓰는게 생각보다 너무 어려웠다...!! 거의 비슷한 접근까지 했는데 스택에 값이 아니라 index를 저장해뒀어야 한다!!(이걸 생각해내는게 어려움) 결국 스스로 풀진 못했지만,,배운게 많았으니 좋다. 잊지 않으면 되는거지...! 😭 이걸 머리로 생각하려면 문제 유형이 머리에 익어야 할 듯. 그래도 재밌었음. 문제: 코딩테스트 연습 - 주식가격 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 주식가격 초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution ..
map 쓰는 법을 까먹어서 다시 풀어본 문제. 풀면서 겸사겸사 포인터 화살표 연산자도 정리해 둠! 미묘하게 이전에 짠 코드보다 발전했음을 알 수 있다(●'◡'●) 문제: 코딩테스트 연습 - 위장 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 위장 programmers.co.kr 내 코드 #include #include #include using namespace std; int solution(vector clothes) { int answer = 0; map m; map ::iterator iter; for(int i = 0;isecond.size()+1); // 위와 같은 코드. ans = ans * ((*iter).second.size()+1); } answer = ans-..
문제 코딩테스트 연습 - 단체사진 찍기 | 프로그래머스 (programmers.co.kr) Lv 2라고 해서 고민하면 풀 수 있을 줄 알다가 큰 코 다친 문제. dfs로 모든 조합을 만드는 방법..기억해두자. 사실 next_permutation(ary.begin(), ary.end()) 로 조합을 만들 수 있지만, 안쓰고 풀어보고 싶었다. next_permutation() 특징 1. 오름차순으로 정렬된 값을 가진 컨테이너로만 사용 가능 2. 오름차순으로 순열을 생성 3. 중복이 있는 원소들은 중복을 제외하고 순열을 만듦 dfs에서 길을 되돌아가려면 (A->B ->C) dfs함수가 끝난 다음 줄에 방금 가본 노드= false; 해주면 됨 (내 코드 33~35번 줄) 내 코드 #include #include..
문자열을 만든 뒤 "000000" 인 문자열은 "0"으로 출력해줘야 함을 놓쳤다. 그래서 더해지는 문자열이 모두 0인지를 for 문으로 하나씩 체크해줬는데, 코드 제출 후 보니 마지막에 answer[0] == 0 이라면 답을 "0"으로 출력해주면 되는 간단한 방법이 있었다. 그래도 compare 함수 비교문을 처음에는 몇 줄씩 짜보다가 간단한 방법을 생각해내서 뿌듯했음(●'◡'●) 내 코드(수정 후) #include #include #include using namespace std; const int MAX = 100000; string numStr[MAX]; bool compare(string a, string b){ return a+b>b+a; } string solution(vector numbe..
코딩테스트 연습 - 네트워크 | 프로그래머스 (programmers.co.kr) 어제 bfs문제를 풀었어서 금방 푼 문제. 풀고나서 다른 풀이 봤더니 queue를 안쓰고 DFS 재귀를 돌리는 방법이 있었다. (BFS 재귀 x. dfs 재귀!!) bfs든 dfs든 queue나 stack안쓰고 재귀 돌리는게 더 코드가 깔끔해보임. 생각하기 조금 더 까다로울 뿐!(+메모리 효율이 떨어짐) 내 코드 #include #include #include using namespace std; bool visited[200] = { false }; queue q; void bfs( vector &computers,int& ans) { while(!q.empty()){ int comNum = q.front(); q.pop(..
BFS 문제 연습해보고 싶어서 다시 풀어봤다. BFS 연습하기 딱 좋은 문제. 아래 이전 코드와 비교도 해봄(●'◡'●) #include #include #include using namespace std; //상하좌우 int dx[4] = { 0,0,-1,1 }; int dy[4] = { 1,-1,0,0 }; bool Visited[100][100]; int bfs(int x, int y, int m, int n, vector& picture) { queue > q; int area = 1; int curX; int curY; int nextX; int nextY; q.push(make_pair(x, y)); while (!q.empty()) { curX = q.front().first; curY = ..
DP 문제 3개 만에 아무 도움없이 자력으로 푼 문제!! 문제 풀릴 때 기분이 좋다. 원리를 아니까 금방 풀었음. 내가 원리를 도출하려고 그려본 표! 내 코드 #include # define MAX 91 using namespace std; long long int dp[2][MAX]; int main() { long long answer = 0; int num; cin >> num; dp[0][1] = 1; // 원래는 0. dp[1][n]의 계산을 위해 앞자리 0인 경우를 모두 허용 dp[1][1] = 1; //dp 배열 계산 for (int i = 2; i
10844번: 쉬운 계단 수 (acmicpc.net) + 6.26 다시 품(모름) 풀이법 dp [자리 수][마지막 자리 숫자] 로 dp배열을 생성 1자리부터 만들 수 있는 계단 수의 갯수를 구하고 뒤에 숫자를 하나씩 붙여서 자릿수를 늘려가며 계산. ex) 3자리,5로 끝나는 수 = (2자리,4로 끝나는 수) + (2자리,6으로 끝나는 수) // 3자리,5로 끝나는 수는 2자리,4로 끝나는 수 뒤에 5라는 숫자만 붙이면 되니까. 내 코드 #include #include # define FLOWDEFENDER 1000000000 //큰 숫자 overflow 방지 using namespace std; int dp[101][10]; int main() { long answer = 0; int num; cin >..