본문 바로가기

Algorithm350

[프로그래머스]2017 팁스타운 : 짝지어 제거하기(level 2)(c++) https://programmers.co.kr/learn/courses/30/lessons/12973 코딩테스트 연습 - 짝지어 제거하기 짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙 programmers.co.kr #include #include using namespace std; int solution(string s) { stack stack; for (int i = 0; i < s.size(); ++i) { // 스택이 비어있으면 push if (stack.empty()) { stack.push(s[i]); } else { // 스택의 top과 현재 문.. 2020. 5. 20.
[프로그래머스]연습문제 : 땅따먹기(level 2)(c++) https://programmers.co.kr/learn/courses/30/lessons/12913 코딩테스트 연습 - 땅따먹기 땅따먹기 게임을 하려고 합니다. 땅따먹기 게임의 땅(land)은 총 N행 4열로 이루어져 있고, 모든 칸에는 점수가 쓰여 있습니다. 1행부터 땅을 밟으며 한 행씩 내려올 때, 각 행의 4칸 중 한 칸만 밟�� programmers.co.kr #include #include #include using namespace std; const int MAX_ROW = 100000; const int MAX_COLUMN = 4; int dp[MAX_ROW + 1][MAX_COLUMN]; // 주어진 배열에서 한 인덱스를 제외하고 나머지 값 중 최대값 구하기 int get_max_exc.. 2020. 5. 20.
[프로그래머스]연습문제 : 다음 큰 숫자(level 2)(c++) https://programmers.co.kr/learn/courses/30/lessons/12911 코딩테스트 연습 - 다음 큰 숫자 자연수 n이 주어졌을 때, n의 다음 큰 숫자는 다음과 같이 정의 합니다. 조건 1. n의 다음 큰 숫자는 n보다 큰 자연수 입니다. 조건 2. n의 다음 큰 숫자와 n은 2진수로 변환했을 때 1의 갯수가 같습니 programmers.co.kr #include #include using namespace std; int get_1_count(int n) { int cnt = 0; while (n) { if (n % 2 == 1) { ++cnt; } n /= 2; } return cnt; } int solution(int n) { // input값이 2진수일때 1의 개수 .. 2020. 5. 19.
[프로그래머스]2019 카카오 개발자 겨울 인턴십 : 튜플(level 2)(c++) https://programmers.co.kr/learn/courses/30/lessons/64065 코딩테스트 연습 - 튜플 "{{2},{2,1},{2,1,3},{2,1,3,4}}" [2, 1, 3, 4] "{{1,2,3},{2,1},{1,2,4,3},{2}}" [2, 1, 3, 4] "{{4,2,3},{3},{2,3,4,1},{2,3}}" [3, 2, 4, 1] programmers.co.kr #include #include #include using namespace std; void parse_input(string &s, vector &t_vec) { vector v; int index = 0; int max_index = 0; // 각 집합을 v벡터로 변환하여, size가 작은 순서대로 t_v.. 2020. 5. 19.