본문 바로가기
반응형

프로그래머스63

프로그래머스] C++ 해시 - 완주하지 못한 선수(Level 1) 문자를 비교해서 없는문자 1개를 찾는 문제입니다. 여러가지 방법이 있겠지만 저는 participant와 completion 백터를 정렬한 후 비교해서 풀었습니다. #include #include #include using namespace std; string solution(vector participant, vector completion) { string answer = ""; sort(participant.begin(), participant.end()); sort(completion.begin(), completion.end()); for(int i=0; i 2020. 1. 23.
2020 카카오 블라인드 공채 문제 2번 설명 및 풀기 문제 풀러가기 완성된 코드 #include #include #include using namespace std; int index; bool check(const string& p){ int left = 0, right = 0; bool ret = true; stack s; for(int i = 0; i < p.size(); i++){ if(p[i] == '('){ left++; s.push('('); }else{ if(s.empty()) ret = false; else s.pop(); right++; } if(left == right){ index = i + 1; return ret; } } return ret; } string solution(string p) { if(p == "") return ".. 2019. 12. 11.
2020 카카오 공채 : 문자열 압축 (풀이 및 코딩) 조건은 s의 길이가 1 이상 1,000 이하.... 모든 알파벳은 소문자 입니다. 해당 코드는 2중 for문으로 충분히 풀이가 가능하고 탐색 조건도 쉽습니다. 앞에서부터 문자들을 차례대로 비교하면 됩니다. 처음엔 1개씩, 그 다음 2개, 그 다음 3개 ..... (s의 총 길이 / 2) 개 까지... 비교문자 마지막을 왜 s의 총 길이 / 2로 했냐면 그 이상 넘어가 버리면 비교의 의미가 없기 때문입니다. (비교할 수가 없죠) 그래서 예제 1번을 보면 aabbaccc 이렇게 있는데, 처음엔 a, a, b, b, a, c, c 하나씩 비교하고, 그 다음엔 aa, bb, ac, cc 이렇게 2개씩 비교하고, 그 다음엔 aab, bac, cc 이렇게 3개씩 비교하고..... 이런식으로 비교한 후 중복되는 알파.. 2019. 11. 23.
반응형

스킨편집 -> html 편집에서