Level 0. 조건에 맞게 수열 변환하기 2
vector는 비교 연산을 지원하며, 크기가 달라도 가능하다.
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int solution(vector<int> arr)
{
int answer = -1;
vector<int> prev;
while (prev != arr)
{
prev = arr;
++answer;
for_each(arr.begin(), arr.end(), [](int& e)
{
if (50 <= e && ~e & 1)
e >>= 1;
else if (e < 50 && e & 1)
(e <<= 1)++;
});
}
return answer;
}
'자료구조 & 알고리즘 > 프로그래머스' 카테고리의 다른 글
Level 0. 날짜 비교하기 (0) | 2023.04.29 |
---|---|
Level 0. 이차원 배열 대각선 순회하기 (0) | 2023.04.29 |
Level 0. 정사각형으로 만들기 (0) | 2023.04.28 |
Level 0. 배열의 길이를 2의 거듭제곱으로 만들기 (0) | 2023.04.27 |
Level 0. 문자열 묶기 (0) | 2023.04.27 |