title: "후보키" category: 프로그래머스[Level-2] tags: [C++, JavaScript, 프로그래머스] date: "2021-02-03" 문제 링크 후보키 C++ #include #include #include using namespace std; int solution(vector relation) { int answer = 0; int row=relation.size(); int col=relation[0].size(); vector cKeys; for(int k=1; k
title: "오픈채팅방" category: 프로그래머스[Level-2] tags: [C++, JavaScript, 프로그래머스] date: "2021-02-02" 문제 링크 오픈채팅방 C++ #include #include #include #include using namespace std; vector solution(vector record) { vector answer; map uid_nick; vector order; for(string str: record){ // split stringstream ss(str); string doing, uid, nick; ss>>doing; ss>>uid; switch(doing[0]){ case 'E':{ ss>>nick; uid_nick[..
title: "캐시" category: 프로그래머스[Level-2] tags: [C++, JavaScript, 프로그래머스] date: "2021-02-01" 문제 링크 캐시 C++ #include #include using namespace std; int solution(int cacheSize, vector cities) { int answer = 0; vector cache; for(string city: cities){ for(char& ch: city) ch=tolower(ch); // 소문자 변환 bool isHit=false; for(int i=0; icacheSize) cache.erase(cache.begin()); } } return answer; } JavaScript functio..
title: "프렌즈4블록" category: 프로그래머스[Level-2] tags: [C++, JavaScript, 프로그래머스] date: "2021-02-01" 문제 링크 프렌즈4블록 C++ #include #include #include using namespace std; bool check(vector& board, int x, int y){ char ch=board[x][y]; if(ch=='0') return false; else if(ch!=board[x][y+1]) return false; else if(ch!=board[x+1][y]) return false; else if(ch!=board[x+1][y+1]) return false; else return true; }..
title: "뉴스 클러스터링" category: 프로그래머스[Level-2] tags: [C++, JavaScript, 프로그래머스] date: "2021-02-01" 문제 링크 뉴스 클러스터링 C++ #include #include #include #include using namespace std; vector split(string str){ vector v; // 알파벳 소문자로 for(char& ch: str) ch=tolower(ch); // split for(int i=1; i='a'&&str[i-1]='a'&&str[i] { const result = []; str = str.toLowerCase(); // 일괄적으로 소문자 for (let i = 1; i <..
title: "예상 대진표" category: 프로그래머스[Level-2] tags: [C++, JavaScript, 프로그래머스] date: "2021-02-01" 문제 링크 예상 대진표 C++ #include #include using namespace std; int solution(int n, int a, int b) { int answer = 0; while(abs(a-b)>=1){ answer++; a=a&1?(a+1)>>1:a>>1; b=b&1?(b+1)>>1:b>>1; } return answer; } JavaScript function solution(n, a, b) { var answer = 0; while (Math.abs(a - b) >= 1) { answer++; a = a & 1..
title: "영어 끝말잇기" category: 프로그래머스[Level-2] tags: [C++, JavaScript, 프로그래머스] date: "2021-02-01" 문제 링크 영어 끝말잇기 C++ #include #include #include #include using namespace std; vector solution(int n, vector words) { vector answer(2, 0); set dict; // 중복 제거 int index=1; int times=1; char back=words.front().front(); for(string word: words){ if(dict.count(word)==1||word.front()!=back){ // 이전에 말하거나 끝말잇기가 아닐 ..
title: "점프와 순간 이동" category: 프로그래머스[Level-2] tags: [C++, JavaScript, 프로그래머스] date: "2021-02-01" 문제 링크 점프와 순간 이동 C++ #include using namespace std; int solution(int n) { int ans = 0; while(n>0){ if(n&1) ans++; n>>=1; } return ans; } JavaScript function solution(n) { var ans = 0; while (n > 0) { if (n & 1) ans++; n >>>= 1; } return ans; }