title: "다리를 지나는 트럭" category: 프로그래머스[Level-2] tags: [C++, JavaScript, 프로그래머스] date: "2021-01-21" 문제 링크 다리를 지나는 트럭 C++ #include #include #include using namespace std; int solution(int bridge_length, int weight, vector truck_weights) { int answer = 0; queue q; int sum = 0; for(auto truck: truck_weights){ while(sum > 0){ // 트럭이 다리에 있는 경우 if(q.size() == bridge_length){ // 트럭이 다리를 지나감 sum -= q.front(..
title: "기능개발" category: 프로그래머스[Level-2] tags: [C++, JavaScript, 프로그래머스] date: "2021-01-21" 문제 링크 기능개발 C++ #include #include #include using namespace std; vector solution(vector progresses, vector speeds) { vector answer; reverse(progresses.begin(), progresses.end()); // for. 스택으로 이용 reverse(speeds.begin(), speeds.end()); // for. 스택으로 이용 while(!progresses.empty()){ int count = 0; // 날짜 수 int tota..
title: "숫자의 표현" category: 프로그래머스[Level-2] tags: [C++, JavaScript, 프로그래머스] date: "2021-01-31" 문제 링크 숫자의 표현 C++ #include #include using namespace std; int solution(int n) { int answer = 1; // 자기 자신 int limit=(n%2)?(n+1)/2:n/2; int sum=0; int sub=1; // 1부터 빼기 for(int i=1; i=n){ while(sum>n) sum-=sub++; if(sum==n) answer++; } } return answer; } JavaScript function solution(n) { var answer = 1; // 자기..
title: "이진 변환 반복하기" category: 프로그래머스[Level-2] tags: [C++, JavaScript, 프로그래머스] date: "2021-01-31" 문제 링크 이진 변환 반복하기 C++ #include #include #include using namespace std; vector solution(string s) { vector answer(2, 0); while(true){ answer[0]++; int len=0; for(char ch: s) (ch=='1')?len++:0; answer[1]+=(s.length()-len); if(len==1) break; // 길이 -> 이진수 s=""; while(len>0){ if(len&1) s+='1'; else s+='0'; ..
title: "최댓값과 최솟값" category: 프로그래머스[Level-2] tags: [C++, JavaScript, 프로그래머스] date: "2021-01-31" 문제 링크 최댓값과 최솟값 C++ #include #include #include #include using namespace std; string solution(string s) { string answer = ""; stringstream ss(s); vector nums; int num; while(ss>>num) nums.push_back(num); answer=to_string(*min_element(nums.begin(), nums.end())) + " " + to_string(*max_element(nums.begin(),..
title: "폰켓몬" category: 프로그래머스[Level-2] tags: [C++, JavaScript, 프로그래머스] date: "2021-01-30" 문제 링크 폰켓몬 C++ #include #include using namespace std; int solution(vector nums) { int answer = 0; set bag; // 중복 제거 for(int num: nums) bag.insert(num); answer = (bag.size()>nums.size()/2) ? nums.size()/2 : bag.size(); return answer; } JavaScript function solution(nums) { var answer = 0; const bag = new Set(n..
title: "최솟값 만들기" category: 프로그래머스[Level-2] tags: [C++, JavaScript, 프로그래머스] date: "2021-01-31" 문제 링크 최솟값 만들기 C++ #include #include #include using namespace std; int solution(vector A, vector B) { int answer = 0; // 오름차순 정렬 stable_sort(A.begin(), A.end()); stable_sort(B.begin(), B.end()); int left=0; int right=A.size()-1; while(left a - b); B.sort((a, b) => a - b); let left = 0; let right = A.leng..
title: "피보나치 수" category: 프로그래머스[Level-2] tags: [C++, JavaScript, 프로그래머스] date: "2021-01-31" 문제 링크 피보나치 수 C++ #include #include using namespace std; int solution(int n) { int answer = 0; vector fibo(100001); fibo[0]=0; fibo[1]=1; for(int i=2; i 0); fibo[0] = 0; fibo[1] = 1; for (let i = 2; i