[알고리즘 문제] 36. 삽입정렬
2020. 9. 28. 13:32
문제 풀이/알고리즘 문제풀이
코드 #include #include #include using namespace std; int main(void) { int n, i, j, temp; cin >> n; vector vInt(n); for (i = 0; i > vInt[i]; for (i = 1; i = 0; --j) { if (vInt[j] > temp) { vInt[j + 1] = vInt[j]; } else break; } vInt[j + 1] = temp; } for (i = 0; i < n; ++i) cout
[알고리즘 문제] 35. Special Sort(구글 인터뷰)
2020. 9. 28. 13:19
문제 풀이/알고리즘 문제풀이
코드 #include #include #include using namespace std; int main(void) { int n, i, j, temp; cin >> n; vector vInt(n); for (i = 0; i > vInt[i]; for (i = n - 1; i >= 0; --i) { for (j = 0; j 0 && vInt[j + 1] < 0) { temp = vInt[j]; vInt[j] = vInt[j + 1]; vInt[j + 1] = temp; } } } for (i = 0; i < n; ++i) cout
[알고리즘 문제] 34. 버블정렬
2020. 9. 28. 13:12
문제 풀이/알고리즘 문제풀이
코드 #include #include #include using namespace std; int main(void) { int n, i, j, temp; cin >> n; vector vInt(n); for (i = 0; i > vInt[i]; for (i = n - 1; i >= 0; --i) { for(j = 0; j vInt[j+1]) { temp = vInt[j]; vInt[j] = vInt[j + 1]; vInt[j + 1] = temp; } } } for (i = 0; i < n; ++i) cout
[알고리즘 문제] 33. 3등의 성적은?
2020. 9. 27. 21:03
문제 풀이/알고리즘 문제풀이
코드 #include #include #include using namespace std; int main(void) { int n, idx, temp, min = 2147000000, cnt = 0; cin >> n; vector vInt(n); for (int i = 0; i > vInt[i]; // 내림차순 선택 정렬 for (int i = 0; i vInt[idx]) idx = j; } temp = vInt[i]; vInt[i] = vInt[idx]; vInt[idx] = temp; } for (int i = 0; i < n; ++i) { i..
[알고리즘 문제] 32. 선택정렬
2020. 9. 27. 18:43
문제 풀이/알고리즘 문제풀이
코드 #include #include #include using namespace std; int main(void) { int n, temp; cin >> n; vector vInt(n); for (int i = 0; i > vInt[i]; for (int i = 0; i vInt[j]) { temp = vInt[i]; vInt[i] = vInt[j]; vInt[j] = temp; } } } for (int i = 0; i > vInt[i]; for (..
[알고리즘 문제] 31. 탄화수소 질량
2020. 9. 27. 18:31
문제 풀이/알고리즘 문제풀이
코드 #include #include #include using namespace std; int main(void) { char c[10]; int i, pos, a = 0, b = 0; cin >> c; // C가 한 개인 경우 if(c[1] == 'H') { a = 1; pos = 1; } else { for(i = 1; c[i] != 'H'; ++i) { a = a * 10 + (c[i] - 48); } pos = i; } // H가 한 개인 경우 if (c[pos + 1] == '\0') b = 1; else { for(i = pos+1; c[i] != '\0'; ++i) { b = b * 10 + (c[i] - 48); } } cout
[자료구조] 링크드 리스트(Singly Linked List) (C++)
2020. 9. 27. 00:44
자료구조, 알고리즘
개념 각 요소를 노드(Node)라고 부르며, 링크드 리스트는 '노드를 연결해서 만드는 리스트'라고 해서 붙여진 이름이다. 링크드 리스트의 노드는 데이터를 보관하는 필드와 다음 노드 주소를 가리키는 포인터로 이루어져 있다. 데이터가 늘어날 때마다 노드를 만들어서 테일에 붙이면 된다. 리스트 사이에 새로운 노드를 끼워 넣거나 제거하는 것도 간편하다. template struct Node { T data;// 데이터 Node* nextNode;// 다음 노드를 가리키는 포인터 Node(T value) : data(value), nextNode(NULL) {} }; template class LinkedList { Node* head; Node* tail; int size = 0; public: LinkedLi..
[알고리즘 문제] 29. 3의 개수는? (small)
2020. 9. 26. 23:59
문제 풀이/알고리즘 문제풀이
코드 #include #include #include using namespace std; int main(void) { int n, tmp, d, result = 0; cin >> n; for(int i = 1; i 0) { d = tmp % 10; if (d == 3) ++result; tmp /= 10; } } cout
[알고리즘 문제] 28. N!에서 0의 개수
2020. 9. 26. 23:48
문제 풀이/알고리즘 문제풀이
코드 #include #include #include using namespace std; int main(void) { int n, i, j, tmp, t = 0, f = 0; cin >> n; for(i = 2; i
[알고리즘 문제] 27. N!의 표현법
2020. 9. 26. 22:55
문제 풀이/알고리즘 문제풀이
코드 #include #include #include using namespace std; int main(void) { int n, i, flag, a; cin >> n; vector vInt(n + 1); for (i = n; i >= 1; --i) { a = i; flag = 2; while(true) { if (a % flag == 0) { a = a / flag; vInt[flag]++; } else flag++; if (a == 1) break; } } cout
[알고리즘 문제] 26. 마라톤
2020. 9. 22. 17:44
문제 풀이/알고리즘 문제풀이
코드 #include #include using namespace std; int main(void) { int n, i, j, num; cin >> n; vector vNum(n); for (i = 0; i > vNum[i]; // 기본값 1, 앞에를 돌면서 num = 1; for (j = 0; j < i; ++j) if (vNum[i]
[알고리즘 문제] 25. 석차 구하기
2020. 9. 22. 16:54
문제 풀이/알고리즘 문제풀이
코드 #include #include using namespace std; int main(void) { int n, i, j, num = 0; cin >> n; vector vScore(n); vector vResult(n); for (i = 0; i > vScore[i]; vResult[i] = 1; } for (i = 0; i < n; ++i) { for (j = 0; j < n; ++j) { if (vScore[i] < vScore[j]) ++vResult[i]; } cout
[알고리즘 문제] 24. Jolly Jumpers
2020. 9. 21. 20:24
문제 풀이/알고리즘 문제풀이
코드 #include #include using namespace std; int main(void) { int n, i, num, temp; bool result = true; cin >> n; num = n - 1; vector vInt(n);// 5 vector vBool(num);// 1 2 3 4 for (i = 0; i > vInt[i]; } for (i = 0; i < n - 1; ++i) { temp = abs(vInt[i] - vInt[i + 1]); if (temp
[알고리즘 문제] 23. 연속 부분 증가수열
2020. 9. 21. 18:16
문제 풀이/알고리즘 문제풀이
코드 #include #include using namespace std; int main(void) { int n, i, temp, prev, count = 1, max = -2147000000; cin >> n; vector vInt; for (i = 0; i > temp; vInt.push_back(temp); } prev = vInt[0]; for (i = 1; i = prev) { count++; if (count > max) max = count; } else count = 1; prev = vInt[i]; } cout
[알고리즘 문제] 22. 온도의 최대값
2020. 9. 21. 17:37
문제 풀이/알고리즘 문제풀이
코드 #include #include #include using namespace std; int main() { int n, k, i, t, sum = 0, max = -2147000000; vector vInt; cin >> n >> k; for (i = 0; i > t; vInt.push_back(t); } for (i = 0; i max) max = sum; } cout
[프로그래머스] 레벨 1 - 2016년 (C++)
2020. 9. 10. 13:50
문제 풀이/프로그래머스
문제 설명 2016년 1월 1일은 금요일입니다. 2016년 a월 b일은 무슨 요일일까요? 두 수 a ,b를 입력받아 2016년 a월 b일이 무슨 요일인지 리턴하는 함수, solution을 완성하세요. 요일의 이름은 일요일부터 토요일까지 각각 SUN,MON,TUE,WED,THU,FRI,SAT 입니다. 예를 들어 a=5, b=24라면 5월 24일은 화요일이므로 문자열 TUE를 반환하세요. 제한사항 2016년은 윤년입니다. 2016년 a월 b일은 실제로 있는 날입니다. (13월 26일이나 2월 45일같은 날짜는 주어지지 않습니다) 입출력 예 a b result 5 24 TUE 코드 #include #include using namespace std; string solution(int a, int b) { i..
[프로그래머스] 레벨 1 - 모의고사 (C++)
2020. 9. 8. 16:29
문제 풀이/프로그래머스
문제 설명 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 방식: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ... 2번 수포자가 찍는 방식: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5, ... 3번 수포자가 찍는 방식: 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, ... 1번 문제부터 마지막 문제까지의 정답이 순서대로 들은 배열 answers가 주어졌을 때, 가장 많은 문제를 맞힌 사람이 누구인지 배열에 담아 return 하도록 solution 함수를 작..
[프로그래머스] 레벨 2 - 위장 (C++)
2020. 9. 8. 16:08
문제 풀이/프로그래머스
문제 설명 스파이들은 매일 다른 옷을 조합하여 입어 자신을 위장합니다. 예를 들어 스파이가 가진 옷이 아래와 같고 오늘 스파이가 동그란 안경, 긴 코트, 파란색 티셔츠를 입었다면 다음날은 청바지를 추가로 입거나 동그란 안경 대신 검정 선글라스를 착용하거나 해야 합니다. 얼굴 - 동그란 안경, 검정 선글라스 상의 - 파란색 티셔츠 하의 - 청바지 겉옷 - 긴 코트 스파이가 가진 의상들이 담긴 2차원 배열 clothes가 주어질 때 서로 다른 옷의 조합의 수를 return 하도록 solution 함수를 작성해주세요. 제한사항 clothes의 각 행은 [의상의 이름, 의상의 종류]로 이루어져 있습니다. 스파이가 가진 의상의 수는 1개 이상 30개 이하입니다. 같은 이름을 가진 의상은 존재하지 않습니다. clo..