일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- BOJ
- graph #최단경로
- hcpc
- 백준
- boj #백준
- 최소 #공배수 #최대 #공약수 #유클리드 #호제법 #lcm #gcd #c++ #boj #3343 #백준 #장미
- 3D #Reconstruction #computer #vision #volume #metric #tsdf #kinect #fusion
- c++ #boj #
- 1174
- 30870
- C++
- c++ #입출력 #속도 #ios #sync_with_stdio #cin #cout #tie
- LIS #가장긴증가하는부분수열 #
- 호반우 상인
- 줄어드는수
- 백준 #다익스트라 #dijkstra #9370 #c++
- 이분탐색 #dp #11053
- 20117
- 쌤쌤쌤
- graph
- N번째큰수
- 레드아보
- 코딩
- 사이클 없는 그래프
- backtracking #codetree #디버깅 #삼성코테
- 16202
- 투포인터 #백준 #boj #20922 #22862
- 3343
- 22869
- 진법변환 #2to10 #10to2 #이진법 #십진법 #변환 #bitset #c++
- Today
- Total
목록알고리즘 연습/프로그래머스 (17)
hyunjin
프로그래머스/해시/위장 바로가기 [소스 코드] #include #include #include using namespace std; int solution(vector clothes) { int answer = 1; unordered_map hash; for(vector pair : clothes) hash[pair[1]]++; unordered_map :: iterator it; for(it = hash.begin(); it != hash.end() ; it++){ answer = answer*(it->second +1 ); } return answer-1; } 다른 사람 풀이를 참고 했다. [풀이 전략] 1. 이 문제의 핵심은 최소 한 개의 의상을 뽑는 것이다. 여러 경우의 수에서 최소 한 개 이상을..

백준/1차원배열/나머지 문제 간단 설명 10개의 수를 입력 받고 해당 수들을 42로 나눈 나머지를 구한다. 그 다음 서로 다른 값이 몇 개 인지 출력하는 문제 첫 번째 풀이 : map 사용 #include #include using namespace std; int main(void) { map m; int result = 0; for (int i = 0; i > num; if (m.count(num % 42) == 0) { m.insert(make_pair(num%42,1)); result++; } } cout num; if (nums[num%42]==0) { nums[num % 42]++; result++; } } cout num; if (!nums..
https://programmers.co.kr/learn/courses/30/lessons/42842 첫 번째 방법 #include #include using namespace std; vector solution(int brown, int yellow) { vector answer; int br = (brown +4)/2; for(int y = 3,x= br-y; y =3; y++){ x = br-y; if( (y-2)* (x-2) == yellow){ answer.push_back(x); answer.push_back(y); break; } } return answer; } 풀이 방법 문제의 제한 사항을 보니 brown의 범위가 yellow 보다 작아서 brown 기준으로 문제를 풀..
https://programmers.co.kr/learn/courses/30/lessons/60057 첫 번째 풀이 #include #include #include #include using namespace std; int solution(string s) { int answer = s.length(); stack stack1; stack stack2; string unit; int cnt=0; for(int i = 1 ; i < s.length()/2+1 ;i++){ for(int j = 0; j
https://programmers.co.kr/learn/courses/30/lessons/17682 첫 번째 풀이 #include #include using namespace std; int solution(string dartResult) { int answer = 0; int tmp[3] = {0,0,0}; int level = -1; for(int i =0 ; i< dartResult.length() ; i++){ if(isdigit(dartResult[i])!=0 || dartResult[i]-'0' == 0 ){ // 숫자면 level++; tmp[level] = dartResult[i] -'0'; if(dartResult[i+1]-'0' == 0){ i++; tmp[level] = tmp[l..
https://programmers.co.kr/learn/courses/30/lessons/12915?language=cpp level1>연습문제>문자열 내 마음대로 정렬하기 첫 번째 방법 #include #include #include #include using namespace std; bool compare(pair a, pair b){ if(a.second == b.second ) return (a.first).compare(b.first)>0 ? false: true; return a.second < b.second; } vector solution(vector strings, int n) { vector answer; vector temp; for(string elem : strings){ t..
https://programmers.co.kr/learn/courses/30/lessons/12906 첫 번째 풀이 (답은 맞았으나 효율성 테스트 통과 못함) #include #include using namespace std; vector solution(vector arr) { vector answer; answer.assign(arr.begin(), arr.end()); for(vector::iterator elem = answer.begin();;){ if( (elem+1) == answer.end() ) break; if( *elem == *(elem+1)) { answer.erase(elem+1); } else{ elem++;} } return answer; } 두 번째 풀이 (실패) #inc..
https://programmers.co.kr/learn/courses/30/lessons/42748 첫 번째 풀이 #include #include using namespace std; vector solution(vector array, vector commands) { vector answer; vector temp; for(int t = 0;tkey){ temp[y+1]=temp[y]; y--; } temp[y+1]= key; } answer.push_back(temp[k]); temp...