일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 2613
- 페이지전환
- 오류교정
- 암스트롱 수
- 토마토(고)
- 1037
- 알고리즘
- 최단거리
- kafka #ackmode #manual #acknowledge
- maven #메이븐 #빌드 #build #lifecycle
- 정올
- vue
- hexagonal architecture #layer architecture #아키텍쳐 #헥사고날
- 태그를 입력해 주세요.
- 새로운 방
- 1108
- 새로운방
- 스택
- 코드그라운드
- kafka #consumer #autoStartup
- sql #오라클 #oracle #sequence #foreach #insert #mybatis
- JAVA #필수값
- Queue
- kafka connect #debizium #transform
- 1045
- 큐
- 김씨만행복한세상
- 페이지 전환
- Floyd
- Floyd 알고리즘
- Today
- Total
목록IT/코드그라운드 (4)
별집사의 IT세상
입력조건 출력조건 입력 출력1 4 13 2 4 6 8Case #1 12 dp를 이용해 해당 이수 학점을 들을 수 있을 때는 1, 없을 때는 0으로 저장하였다. 해당 학점(temp)에서 각 학점(sub[i])을 뺐을 때 나오는 학점을 들을 수 있다면,(dp[temp-sub[i]]==1) 해당 학점도 들을 수 있게 된다. 1학점부터 M학점까지 계산하였고, M에서 최대한 가까운 값을 출력하였다. 최적화로 생각해 볼 것은 각 케이스마다 배열을 동적 할당하여 메모리를 줄이는 방법과, 문제에 설명이 안되있지만 과목이 크기순으로 정렬을 확인하는 점이다. 문제에 제대로 설명이 안되어 있는데, 과목을 중복으로 들어도 되게 코딩을 했는데 통과한 걸 보면 중복으로 들어도 되나보다(대학 강의를 어떻게 중복으로 듣나..) #i..
입력 조건 출력 조건 입력 출력1 3 3 2 3 2 3 2 3 2 3Case #1 2 뒤에서 연속된 0의 최대 개수일때 열린다고 했으므로 고등학교 시절 뒤에 0이 최대로 오는 문제와 같이 생각해보면 된다. 각 경비를 곱한다고 했으므로 각 경비를 소인수 분해하여 2의 개수와 3의 개수만 저장하고 마지막까지 갔을 때 두개의 페어가 최대값이 되는 경우를 찾으면 된다. 해당 문제에서는 상, 하, 좌, 우로 이동할 수 있다고 나와있지만, 최단거리로 가야된다고 했으므로 실질적으로 이동가능 한 경우는 하, 우 뿐이다. 처음에 고민했던 부분은 최대값이 각 지점까지 왔을 때 최대값과 같은 가 였는 데 이는 간단한 예로 아님을 확인 할 수 있다. 만일 3*3의 미로에서 배열 1,1로 오는 2가지 경우의 수를 예로 들어보자..
코드그라운드 노말 44번문제 입력 출력 관리자를 1, 2 대신 0, 1로 지정하고(코딩의 편의를 위해) 초기에 모든 영역의 관리자를 0으로 초기화 해준다. 인접하는 지역 번호를 받으면서 인접 지역의 관리자를 반대로 저장하였다 ( 0 = !1, 1 = !0) 모든 경우의 인접 지역 관리자를 조사하여 같은 관리자가 있는 경우 result를 0으로 변경하고 종료한다. #include #include int main(void) { setbuf(stdout, NULL); int TC; int test_case; int N, M; // 200, 1000 int start[1000]; int end[1000]; int num[201]; int i; int result; scanf("%d", &TC); for (tes..
대단한 능력을 가진놈이다. 공부한 과목 K개의 최대 합계 점수를 구하면 되기 때문에 높은 순서로 정렬해서 K개만큼 더하면 된다. 단 N의 최대값이 20만개라 시간초과 걸리는 것만 조심하면 된다. 간단하게 C 내부의 stdlib.h에 있는 qsort 이용해서 정렬하면 쉽게 해결 주어진 코드 외에 작성 하는 코드는 네 줄이면 된다. int cmp(const void* a, const void* b) { return *(int*)b - *(int*)a; }; qsort(val, N, sizeof(int), cmp); for (i = 0; i