본문 바로가기

Coding Test203

[Programmers] Lv 2. 멀리 뛰기 https://school.programmers.co.kr/learn/courses/30/lessons/12914 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr #include #include #include long long solution(int n) { long long arr[2001] = { 1, 1 }; for (int i = 2; i 2023. 6. 2.
[Programmers] Lv 2. N개의 최소공배수 ttps://school.programmers.co.kr/learn/courses/30/lessons/12953 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr #include #include #include using namespace std; int solution(vector arr) { int loop = 1; // 첫번째 원소를 기준으로 최소공배수를 구함. // 다른 원소가 (첫번째 원소 * loop)를 나눈 나머지 값이 있으면 공배수가 아닌 것으로 판단. while (::any_of(arr.begin(), arr.end(), [=](const a.. 2023. 6. 1.
[Programmers] (Summer/Winter Coding(~2018)) Lv 2. 점프와 순간 이동 https://school.programmers.co.kr/learn/courses/30/lessons/12980 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr #include using namespace std; int solution(int n) { int ans = 1; // 이진법에서 1의 수가 총 점프 수. while (n / 2) { if (n % 2) // 홀수일 경우 { --n; ++ans; } n /= 2; } return ans; } GitHub : https://github.com/developeSHG/Algorithm-Baekjoon.. 2023. 5. 31.
[Programmers] (2017 팁스타운) Lv 2. 예상 대진표 https://school.programmers.co.kr/learn/courses/30/lessons/12985 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr #include #include #include using namespace std; class Command { public: Command(const int& a, const int& b) : _a(a), _b(b) { } const bool operator() () { return _a != _b; } public: void vs() { _a = (_a + 1) >> 1; _b = (_b +.. 2023. 5. 31.
[Programmers] (탐욕법(Greedy)) Lv 2. 구명보트 https://school.programmers.co.kr/learn/courses/30/lessons/42885 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr #include #include #include using namespace std; int solution(vector people, int limit) { int answer = 0; int leftPointer = 0, rightPointer = people.size() - 1; sort(people.begin(), people.end()); // 투포인터 방식 while (leftPointer 2023. 5. 30.
[Programmers] (완전탐색) Lv 2. 카펫 https://school.programmers.co.kr/learn/courses/30/lessons/42842 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr #include #include using namespace std; vector solution(int brown, int yellow) { vector answer; /* 가로 a, 세로 b일 때 테두리의 타일 개수: 2 * a + (b-2) * 2 = 2 *a + 2 * b - 4 = brown 가운데 노란색의 타일 개수 = a * b - brown = yellow i * b - (2*i +.. 2023. 5. 25.
[Programmers] Summer/Winter Coding(~2018) Lv 2. 영어 끝말잇기 https://school.programmers.co.kr/learn/courses/30/lessons/12981 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr #include #include #include #include #include using namespace std; vector solution(int n, vector words) { set s; int cnt{ 0 }; auto res = any_of(words.begin(), words.end(), [&](const auto& str) { const auto& lastWord = cnt ?.. 2023. 5. 23.
[Programmers] (2017 팁스타운) Lv 2. 짝지어 제거하기 https://school.programmers.co.kr/learn/courses/30/lessons/12973 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr #include #include #include #include using namespace std; int solution(string s) { stack _stack; for_each(&s[0], &s[0] + s.length(), [&](char& n) { (!_stack.size() || _stack.top() != n) ? _stack.push(n) : _stack.pop(); }); r.. 2023. 5. 23.
[Programmers] Lv 2. 피보나치 수 https://school.programmers.co.kr/learn/courses/30/lessons/12945 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr #include #include using namespace std; int solution(int n) { vector dp = { 0, 1 }; dp.resize(n + 1); for (int i = 2; i 2023. 5. 22.
[Programmers] Lv 2. 다음 큰 숫자 https://school.programmers.co.kr/learn/courses/30/lessons/12911?language=cpp 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr #include #include using namespace std; int bit1_number(int n) { int cnt = 0; while (n) { int remain = (n % 2); n /= 2; cnt += (remain == 1) ? 1 : 0; } return cnt; } int solution(int n) { int result = bit1_numbe.. 2023. 5. 19.