'알고리즘 모음집/New 알고리즘' 카테고리의 글 목록 (2 Page)
본문 바로가기
728x90
반응형

알고리즘 모음집/New 알고리즘219

2022-07-06-2018카카오-1차뉴스클러스터링 문제링크: Click 01.설계 비교적 간단한게 풀 수 있음 문자열은 2개로 나누어 string 백터에 저장하고 비교하는데 같은 것은 지운다. 그리고 여기서 백터 두개의 합이 합집합 같은것을 저장한 A의 변수는 교집합이 된다. 02.문자열 분리 문자열 분리시 대소문자구분 없이가 있고 영문자만 가능하다 그래서 아래는 대문자로 다만들고 영문자가 아닌것은 지웠음 vector splitS(string s){ vector v; for (int i = 0; i < s.size(); i++) s[i]= toupper(s[i]); for (int i = 0; i < s.size()-1; i++) { v.push_back(s.substr(i, 2)); } for (int i = 0; i < v.size(); i++) {.. 2022. 7. 11.
2022-07-05-2020카카오-문자열압축 문제링크: Click 01.설계 각 하나씩 백터로 묶는 과정을 가지고 그 상태로 비교해서 압축하는 식으로 진행함 02.백터로 묶는 소스 vector splitString(string s, int n) { vector v; for (int i = 0; i < s.size(); i += n) { v.push_back(s.substr(i, n)); } return v; } 03.비교하여 압축하는 소스 for (int i = 1; i < splitS.size(); i++) { if (beforeCmpS == splitS[i]) cnt++; else{ if (cnt != 1) zipS += to_string(cnt); zipS += beforeCmpS; beforeCmpS = splitS[i]; cnt = 1; .. 2022. 7. 11.
2022-07-04-2019카카오-오픈채팅방 문제 링크: Click 01.설계 정말 간단히 생각했을때 uid와 이름을 저장을 하고 enter, change인 경우만 이름이 바뀌게 하고 change의 경우는 출력에서 제외하고 저장해놓고 마지막에 uid와 이름 저장한것을 이용해서 이름을 최신화 하여 출력하면됨 02.부분 코드 확인 02.1 uid이름 저장하는 부분과 데이터 저장부분 unordered_map map; vector sub_answer; for (auto& rec : record) { string key[3]; istringstream iss(rec); iss >> key[0] >> key[1] >> key[2]; if(key[0] != "Change")sub_answer.push_back({ key[0],key[1]}); if(key[0].. 2022. 7. 11.
2022-06-30-2021-KAKAO-BLIND-RECRUITMENT-순위검색 문제링크: Click 01.필요한 코드와 개념 01.1 순열? 순열이라고 하는게 맞는지 모르겠지만 위와 같이 뽑을줄 알아야함 여기서는 1,2,4,8로 표현 됬지만 위에서 1이라고 생각하면됨 사실 dfs를 돌려서 해도됨 for (int mask = 0; mask > key[3]; cout key[1] >> tmp >> key[2] >> tmp >> key[3] >> point; string s = key[0] + key[1] + key[2] + key[3]; vector& v = map[s]; answer.push_back(v.end() - lower_bound(v.begin(), v.end(), point).. 2022. 7. 11.
728x90
반응형