일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 오류
- OpenCV
- Python
- C
- C++
- label
- pytorch
- C#
- error
- Selenium
- paramiko
- Docker
- 채보
- YOLO
- JSON
- ubuntu
- pandas
- 프로그래머스
- mysql
- Linux
- Visual Studio
- LIST
- VS Code
- 기타 연주
- windows forms
- SSH
- pip
- Numpy
- 명령어
- 핑거스타일
- Today
- Total
목록프로그래머스 (13)
기계는 거짓말하지 않는다
프로그래머스 - 이진 변환 반복하기 문제 입니다. 문제 그대로 1인 문자 개수를 이진수로 변경하고 0인 문자를 계속 카운트 합니다. 이진수 문자열은 재귀함수를 사용했습니다. #include #include using namespace std; string binaryNumber(int n) { if(n < 2) return to_string(n); return binaryNumber(n / 2) + to_string(n % 2); } vector solution(string s) { vector answer; int zeroCnt = 0, tryCnt = 0, i = 0; int len = 0; while(s.length() != 1) { for(i = 0; i < s.length(); i++) { if..
프로그래머스 - 캐시 문제 입니다. 일반적인 캐시와 캐시 교체 정책을 생각하면됩니다. LRU 교체 정책이므로 cache hit이면 항상 앞으로 옮겨주고 miss이면 cache가 가득 찼을 경우 맨 뒤의 요소를 제거 후 가장 앞에 현재 데이터를 넣습니다. 앞, 뒤 삽입, 삭제가 빈번하므로 list 사용 #include #include #include using namespace std; int solution(int cacheSize, vector cities) { int answer = 0, i, j; list cache; list::iterator itr; bool find = false; for(i = 0; i < cities.size(); i++) { for(j = 0; j < cities[i].l..
프로그래머스 - 124 나라의 숫자 문제입니다. 숫자 3개가 끝이므로 3진법을 생각했습니다. 3진법에서 0, 1, 2로 표현되고 정확히 3으로 나누어 진다면 4로 바꾸면 되겠다는 생각을 했습니다. 재귀함수를 이용하여 3진법 string을 거꾸로 출력하면서 조건을 답니다. 주의점은 6, 9처럼 정확히 나누어 떨어질 때 3진법에서는 20, 100이 되지만 문제는 1이 적기 때문에 1을 뺀 후의 몫을 붙입니다. #include #define NOTATION 3 using namespace std; string chg(int n) { int num; num = n % NOTATION == 0 ? 4 : n % NOTATION;// 나머지가 0일 경우 4로 치환 if(NOTATION >= n) {// 마지막 몫 ..
프로그래머스 - 튜플 문제입니다. 양쪽의 중괄호를 먼저 제거하고, 다음 중괄호 안의 원소만 ,를 포함해서 string 벡터에 담아야겠다는 생각을 했습니다. 원소 수가 적은 집합을 오름차순으로 정렬 후 중복되지 않게 차례대로 정답 벡터에 추가합니다. ,를 기준으로 끊어 number를 확인 합니다. 중복 확인은 unordered_set 을 사용했습니다. 마지막에는 ,가 없으므로 배열 길이의 마지막에 도달하면 number를 한번 더 확인합니다. #include #include #include #include using namespace std; bool cmp(string a, string b) { return a.length() < b.length(); } vector solution(string s) { ..
프로그래머스 - 단어 변환 문제입니다. BFS를 사용하여 시작 단어부터 문자가 단 1개 차이나는 단어를 depth를 늘려 추가해야겠다는 생각을 했습니다. #include #include #include using namespace std; class WordDepth { public: string word; int depth; WordDepth() {} WordDepth(string word, int depth) { this->word = word; this->depth = depth; } }; int solution(string begin, string target, vector words) { int i, j, differCnt = 0; bool check = false; vector wordChec..