[C/C++] programmers Level 1 2016년 코드 #include #include using namespace std; string solution(int a, int b) { string answer = ""; int month[12] = {31,29,31,30,31,30,31,31,30,31,30,31}; string day[7] = {"THU","FRI","SAT","SUN","MON","TUE","WED"}; int sum=b; for(int i=0;i C++/programmers 코딩테스트(level 1) C++ 2023.10.12
[C/C++] programmers Level 2 H-Index 코드 #include #include // sort() using namespace std; int solution(vector citations) { int answer = 0; sort(citations.begin(), citations.end(), greater()); // greater() : [start,end) 범위의 인자를 내림차순으로 정렬해 준다. // ex) 6 5 3 1 0 //i+1) 1 2 3 4 5 인용 횟수 for(int i=0;i=i+1){ // i+1이 citations[i]과 작거나 같아지는 시점을 찾는다. -> H-Index answer=i+1; } } return answer; } C++/programmers 코딩테스트(level 2) C++ 2023.10.12
[C/C++] programmers Level 2 할인 행사 코드 #include #include #include // 해시 using namespace std; int solution(vector want, vector number, vector discount) { int answer = 0; unordered_map purchaseMap; for(int i=0;i want, number 값 삽입 } for(int i=0;i C++/programmers 코딩테스트(level 2) C++ 2023.10.12
[C/C++] programmers Level 2 연속 부분 수열 합의 개수 코드 #include #include // 중복 제거 using namespace std; int solution(vector elements) { int answer = 0; set num; for(int i=0;i C++/programmers 코딩테스트(level 2) C++ 2023.10.12
[C/C++] programmers Level 1 명예의 전당 (1) 코드 #include // erase() #include // sort() using namespace std; vector solution(int k, vector score) { vector answer; vector num; for(int i=0;ik){ num.erase(num.begin()); } answer.push_back(*num.begin()); } return answer; } // erase 함수를 통해 vector의 특정 값을 삭제한다고 할 때, 해당 값이 삭제가 되고 그만큼 vector의 size가 줄어든다. // 해당 값이 지워지면 container가 모든 요소를 새 위치로 재배치한다. 그렇기 때문에 size는 줄어도, capacity는 줄어들지 않는다. C++/programmers 코딩테스트(level 1) C++ 2023.10.12
[C/C++] programmers Level 0 OX퀴즈 코드 #include #include #include // istringstream using namespace std; vector solution(vector quiz) { vector answer; for(int i=0;i 구분자 공백 if(stringBuffer!=""){ check.push_back(stringBuffer); } } if(check[1]=="+"){ if(stoi(check[0])+stoi(check[2])==stoi(check[4])){ answer.push_back("O"); }else{ answer.push_back("X"); } }else if(check[1]=="-"){ if(stoi(check[0])-stoi(check[2])==stoi(check[4])){ answe.. C++/programmers 코딩테스트(level 0) C++ 2023.10.12
[C/C++] programmers Level 2 영어 끝말잇기 코드 #include #include #include // find() using namespace std; vector solution(int n, vector words) { vector answer(2,0); // 0~1 범위 0으로 채움 vector check; check.push_back(words[0]); for(int i=1;i C++/programmers 코딩테스트(level 2) C++ 2023.10.11
[C/C++] programmers Level 0 다항식 더하기 코드 #include #include #include // istringstream using namespace std; string solution(string polynomial) { string answer = ""; vector poly; string stringBuffer; istringstream ss(polynomial); while (getline(ss, stringBuffer,' ')){ // split() 기능 -> 구분자 공백 if(stringBuffer!=""){ poly.push_back(stringBuffer); } } int nx=0; // 일차 항의 값 int n=0; // 상수 항의 값 for(int i=0;i C++/programmers 코딩테스트(level 0) C++ 2023.10.11
[C/C++] programmers Level 2 이진 변환 반복하기 코드 #include #include using namespace std; vector solution(string s) { vector answer(2,0); // 0~1 범위의 값을 0으로 채움 while(s!="1"){ // s가 "1"일 시 반복문 탈출 string check1=""; // 0 제거 후 1만 저장 answer[0]++; // 이진 변환 횟수 카운트 for(int i=0;i 2진법으로 변환 s=s+to_string(size1%2); size1=size1/2; } } return answer; } C++/programmers 코딩테스트(level 2) C++ 2023.10.11
[C/C++] programmers Level 0 최빈값 구하기 코드 #include #include // 해시 using namespace std; int solution(vector array) { int answer = 0; unordered_map hashmap; for(int i=0;imax){ max=n.second; // n.second : 숫자의 갯수(숫자의 개수 중 가장 많은 값) answer=n.first; // n.first : 숫자(최빈값을 나타냄) }else if(n.second==max){ // 갯수가 같은 경우 최빈값 -1로 표현 answer=-1; } } return answer; } C++/programmers 코딩테스트(level 0) C++ 2023.10.11