Algorithm/프로그래머스(84)
-
[프로그래머스] Level.2 2017 팁스다운- 짝지어 제거하기
코딩테스트 연습 - 짝지어 제거하기 짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙 programmers.co.kr 첫번쨰 풀이- 정확성 통과, 효율성 실패 #include #include using namespace std; int solution(string s) { int answer = 0, i = 0; string a = ""; string b = ""; while (1) { if (s.size() == 0) answer = 1; if (s.size() == 0 || s.size()
2021.01.17 -
[프로그래머스] Level.2 연습문제- 행렬의 곱셈
코딩테스트 연습 - 행렬의 곱셈 [[2, 3, 2], [4, 2, 4], [3, 1, 4]] [[5, 4, 3], [2, 4, 1], [3, 1, 1]] [[22, 22, 11], [36, 28, 18], [29, 20, 14]] programmers.co.kr vectoranswer(A.size(),vector(B[0].size())); 할당 #include #include using namespace std; vector solution(vector arr1, vector arr2) { vector answer; answer.assign(arr1.size(), vector(arr2[0].size(), 0)); int temp = 0; for (int i = 0;i < arr1.size();i++) {..
2021.01.17 -
[프로그래머스] Level.2 연습문제-피보나치 수
코딩테스트 연습 - 피보나치 수 피보나치 수는 F(0) = 0, F(1) = 1일 때, 1 이상의 n에 대하여 F(n) = F(n-1) + F(n-2) 가 적용되는 수 입니다. 예를들어 F(2) = F(0) + F(1) = 0 + 1 = 1 F(3) = F(1) + F(2) = 1 + 1 = 2 F(4) = F(2) + F(3) = 1 + 2 = 3 F(5) = F(3) + F(4) = programmers.co.kr #include #include using namespace std; int solution(int n) { int answer = 0; vectorfibo; fibo.push_back(0); fibo.push_back(1); for(int i=2;i
2021.01.16 -
[프로그래머스]Level.2 완전탐색-카펫
코딩테스트 연습 - 카펫 Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다. Leo는 집으로 돌아와서 아까 본 카펫의 노란색과 programmers.co.kr 이 문제는 뭐지?그냥 수학 푸는 느낌...... #include #include #include using namespace std; vector solution(int brown, int yellow) { vector answer; int ab=brown+yellow; int apb=brown/2+2; int amb2=pow(apb,2)-4*ab; int amb= sqrt(amb2); int a=(amb+apb)/2; int b=apb-a; if(a
2021.01.16 -
[프로그래머스] Level.2 정렬-H-Index
코딩테스트 연습 - H-Index H-Index는 과학자의 생산성과 영향력을 나타내는 지표입니다. 어느 과학자의 H-Index를 나타내는 값인 h를 구하려고 합니다. 위키백과1에 따르면, H-Index는 다음과 같이 구합니다. 어떤 과학자가 발표 programmers.co.kr #include #include #include using namespace std; int solution(vector citations) { int answer = 0; int use,no,h_idx = 0; sort(citations.rbegin(), citations.rend()); int h=citations[0]; while(1){ use=0,no=0; for (int i = 0;i < citations.size();i..
2021.01.15 -
[프로그래머스] Level.2 해시- 위장
코딩테스트 연습 - 위장 programmers.co.kr 옷을 입는 방법=(옷 한종류에 대한 갯수+그 옷종류을 안 입을 경우(1))*(옷 한 종류에 대한 갯수+그 옷을 안입을 경우....)- 옷을 안입는 경우(1) ㅜㅜ 엄청 간단한데 이 수식을 생각하지 못해서 돌고 돌고..돌았다...... 이중 포문 까지 쓰고 있었는뎁 ㅎㅎㅎㅎ..... #include #include #include #include using namespace std; int solution(vector clothes) { int answer = 0; int sum = 1; unordered_map num; vector c; for (auto pair : clothes) { num[pair[1]]++; c.push_back(pair[1..
2021.01.15