1. 문제
구름EDU - Be Really Excellent!
구름EDU는 전국 대학, 기업 등에서 활용 중인 온라인 학습 및 교수 마켓플레이스입니다. 다양한 IT분야에 대해 배워 보세요. 여러분의 커리어 패스에 확실한 도움을 드립니다.
edu.goorm.io
2. 소스코드
- 구름 처음 해봤는데, 너~무 불편하다. 프로그래머스도 별로였는데, 프로그래머스는 선녀였다!
- 배열의 모든 수를 최소 횟수로, 가장 낮은 숫자(1)로 바꾸는 문제.
- 처음 1이 있는 idx를 두고, 처음에 1로 바꾸는 모든 경우의 수를 브루트 포스 했다.
- 구름 싫다.
소스코드
#include <iostream>
#include <vector>
using namespace std;
int n, k, idx, ans = 9999999;
vector<int> nums;
int main() {
cin >> n >> k;
nums.resize(n);
for (int i = 0; i < n; ++i) {
cin >> nums[i];
if (nums[i] == 1) idx = i;
}
for (int i = 0; i < k; ++i) {
int start_idx = idx - (k - 1) + i;
int end_idx = idx + i;
if (start_idx < 0 or end_idx > n) continue;
int temp = 1;
temp += (start_idx) / (k - 1);
if ((start_idx) % (k - 1) != 0) temp++;
temp += (n - 1 - end_idx) / (k - 1);
if ((n - 1 - end_idx) % (k - 1) != 0) temp++;
if (ans > temp) ans = temp;
}
cout << ans << '\n';
}
'알고리즘 > 구름' 카테고리의 다른 글
[ 구름 / 문자열 ] 앵무새 꼬꼬 (0) | 2020.06.28 |
---|---|
[ 구름 / 단순 구현 ] 고장난 컴퓨터 풀이 (0) | 2020.06.27 |
[ 구름 / 수학 ] 태민이의 취미 풀이 (0) | 2020.06.27 |
[ 구름 / 단순구현 ] 뱀이 지나간 자리 풀이 (0) | 2020.06.27 |
[ 구름 / 구현 ] 사은품 교환 풀이 (0) | 2020.06.26 |