일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 백준 dfs
- 관리형 학원
- 월곡동 학원추천
- C++ 문자열
- 백준 한국이 그리울 땐 서버에 접속하지
- 백준 패션왕 신해빈
- DFS
- C++ 9996
- 백준 1049번
- 백준 14246번
- 서울사대부고 학원
- 백준 토마토
- c++ split
- 월곡중 학원
- 월곡역 학원
- 백준 14246번 K보다 큰 구간
- 성북구 학원
- 운영체제
- 상월곡역 학원
- 백준 2309번 일곱 난쟁이
- 백준 10709
- C# 병합정렬
- 고정 소수점
- 월곡중학교 학원추천
- 상월곡동 학원
- 백준 9375번 패션왕 신해빈
- OS
- 백준 K보다 큰 구간
- c++ 조합
- 백준 1049번 기타줄
- Today
- Total
목록알고리즘 (76)
키베이루's diary

1) 문제설명 2) 해결방법 입력값을 오름차순으로 정렬한 뒤 그 값과 그 값의 인덱스 값을 빼주어 더해주었다. 3) 코드 #include #include #include #include #include #include using namespace std; long long arr[500002]; /* 등수 매기기 해결방안 입력값을 오름차순으로 정렬한 뒤 그 값과 그 값의 인덱스 값을 빼주어 더해주었다. */ int main() { long long n; cin >> n; for (int i = 1; i > arr[i]; } sort(arr+1, arr + n+1); long long sum = 0; for (long long i = 1; i i) { sum = sum + arr[i] - i; } else..

1) 문제설명 https://www.acmicpc.net/problem/11497 11497번: 통나무 건너뛰기 남규는 통나무를 세워 놓고 건너뛰기를 좋아한다. 그래서 N개의 통나무를 원형으로 세워 놓고 뛰어놀려고 한다. 남규는 원형으로 인접한 옆 통나무로 건너뛰는데, 이때 각 인접한 통나무의 높이 www.acmicpc.net 2) 해결방법 입력값 중 가장 큰 값을 중앙에 두고 양옆으로 작아지게 수를 정렬한 후 앞뒤 값의 차이들 중 최댓값을 출력하면 된다. 13 10 12 11 10 11 12 -> 10 11 12 13 12 11 10으로 정렬 한 뒤 | 10 vs 11 | 11 vs 12 |... | 11 vs 10 | 앞뒤 차이들 중 최댓값을 출력한다. 입력값을 오름차순으로 정렬한 뒤 짝수 인덱스를 ..

1) 문제설명 https://www.acmicpc.net/problem/1912 1912번: 연속합 첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수이다. www.acmicpc.net 2) 해결방법 입력값 : 2 -> 최대 2 2, 1 -> 최대 2+1 =3 2, 1, -4 -> 최대 2+1 =3 2, 1, -4, 3 -> 최대 2+1 =3 or 3 2, 1, -4, 3, 4 -> 최대 3+4 =7 이와 같이 생각했을 때 (지금까지 입력받았던 합중 최댓값) vs (새로 입력받은 숫자) 중 큰 것으로 dp를 설계하면 된다. 3) 코드 #include #include #incl..

1) 문제설명 https://www.acmicpc.net/problem/1463 1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net 2) 해결방법 문제를 이해하기 위해서 2부터 하나씩 생각해보았다. 2 -> 1 (2로 나누어 떨어진다) 횟수 : 1 3 -> 1 (3으로 나누어 떨어진다) 횟수 : 1 4 -> 2 -> 1 (2로 두 번 나누어 떨어진다) 횟수 : 2 5 -> 4 -> 2 -> 1 (1을 빼고 2로 두번 나누어 떨어진다) 횟수 : 3 6 -> 3 -> 1 or 6 -> 2 -> 1 (2로 나누고 3으로 나눈다 or 3으로 나누고 2로 나눈다) 횟수 : 2 이와 같이 생각하니 (3으로 나눈 것) vs (2로 나눈 것..