목록코딩테스트/프로그래머스 (64)
bdfgdfg

#include #include using namespace std; int solution(string s) { int len = s.size(); if (len % 2 == 1) return 0; else if (len 0) return 0; return 1; } 위 방식은 처음부터 순회하면서 현재문자와 다음문자가 같다면 지운다음 다시 처음부터 반복하는 코드. 정답은 맞지만 효율성에서 실패가 뜬다. -> O(N^2)에 가까운 코드 조금 고민을 해보고 다른 사람의 풀이를 보았음. 스택을 이용하여 하나씩 담아보면서 다음 문자열에 들어올 문자가 스택의 top과 같다면 pop하는 형식으로 해결. #include #include #include using namespace std; int solution(st..
#include #include #include using namespace std; int solution(string skill, vector skill_trees) { int answer = 0; int skillLen = skill.size(); int userSkillLen = skill_trees.size(); int saveArr[26] = {0,}; vector userSkill; bool flag; userSkill.reserve(skillLen); for(int saveSkill = 0; saveSkill < skillLen; ++saveSkill) saveArr[skill[saveSkill] - 'A'] = 1; for(int find = 0; find < userSkillLen; +..

int solution(vector board) { int answer; int boardY = board.size(); int boardX = board[0].size(); int y, x; int result = 0, maxResult = 0; for (y = 0; y = boardY || x + 1 >= boardX) continue; if (board[y][x] == 0) continue; else if (board[y + 1][x + 1] == 0) continue; else { int sqaureLength = 1; bool notSqaure = false; while..
#include #include #include #include using namespace std; #define Epsilon 0.00000000000000000001 bool Compare(pair& lhs, pair& rhs) { if (abs(lhs.second - rhs.second) > Epsilon) return lhs.second > rhs.second; else return lhs.first < rhs.first; } vector solution(int N, vector stages) { vector answer; // 실패율 클리어하지 못한 플레이어의 수 / 스테이지에 도달한 플레이어 수 int len = stages.size(); int* arr = new int[len]; mems..