Make Unreal REAL.
article thumbnail
Level 0. 문자열 묶기

Level 0. 문자열 묶기 #include #include #include using namespace std; int solution(vector strArr) { int answer = 0; int *arr = new int[100'001](); for (string s : strArr) answer = max(answer, ++arr[s.length()]); delete[] arr; return answer; }

article thumbnail
Level 0. 2의 영역

Level 0. 2의 영역 순회하면서 직접 찾지 않고 find(), find_end() STL 함수를 써도 된다. #include #include #include using namespace std; vector solution(vector arr) { vector two {2}; auto l = find(arr.begin(), arr.end(), 2); if (l == arr.end()) return vector {-1}; auto r = find_end(arr.begin(), arr.end(), two.begin(), two.end()); return vector(l, ++r); }

article thumbnail
Level 0. qr code

Level 0. qr code #include using namespace std; string solution(int q, int r, string code) { string answer; for (int i = 0; i < code.length(); ++i) if (i % q == r) answer.emplace_back(code[i]); return answer; }

article thumbnail
Level 2. n^2 배열 자르기

Level 2. n^2 배열 자르기 n x n 크기의 배열을 직접 만들어 모든 값을 할당할 필요도 없고, 매번 사이클을 많이 잡아먹는 나누기, 나머지 연산으로 인덱스를 구할 필요도 없다. #include #include #include using namespace std; vector solution(int n, long long left, long long right) { vector answer(right - left + 1); int r = left / n; int c = left % n; auto clamp = [](int val, int minVal, int maxVal) { return max(minVal, min(val, maxVal)); }; do { answer[answer.size() ..

article thumbnail
Level 2. 무인도 여행

Level 2. 무인도 여행 전형적인 DFS 문제이다. #include #include #include #include using namespace std; int rDFS(vector& maps, int r, int c) { size_t H = maps.size(), W = maps.front().length(); if (r < 0 || c < 0 || H

article thumbnail
Level 2. 피보나치 수

Level 2. 피보나치 수 문제 설명이 조금 이상하지 않나 싶다.. 설명만 보면 피보나치 수열을 모두 구한 후에 1234567로 나눈 나머지를 구하는 건 줄 알았는데, 질문하기 페이지를 보니 매번 F(i)를 1234567로 나눈 나머지를 구해야 하는 것이었다. F(n) = F(n - 2) % m + F(n - 1) % m = {F(n - 2) + F(n - 1)} % m을 활용해 해결했다. 피보나치 수열을 구할 때는 전전 숫자와 전 숫자만 알고 있으면 되기 때문에, 굳이 배열을 사용하지 않아도 된다. #include using namespace std; int solution(int n) { int pp = 0, p = 1, c = 1; while (0 < --n) { c = (pp + p) % 123..

검색 태그