C++/programmers 코딩테스트(level 1) C++ 45

[C/C++] programmers Level 1 숫자 짝꿍

코드 #include #include #include // sort() using namespace std; string solution(string X, string Y) { string answer = ""; vector num(10,0); // 0~9 범위로 X, Y 값을 카운트 for(int i=0;i=0;i--){ num[Y[i]-'0']--; // Y[i] 값 -- 연산 if(num[Y[i]-'0']>=0){ answer.push_back(Y[i]); // 0보다 크거나 같을 때 answer값에 추가 } } sort(answer.begin(),answer.end(),std::greater()); // answer string 값 내림차순 정렬 if(answer==""){ // 짝꿍이 존재하지 ..

[C/C++] programmers Level 1 [1차] 다트 게임

[1차] 다트 게임 코드 #include #include using namespace std; int solution(string dartResult) { int answer = 0; // 결과값 int numindex=0; // num -> index string result=""; // 다트 점수 및 영역, 옵션 표시 vector num; for(int i=0;i='0' && dartResult[i] 당첨 시 해당 점수와 바로 전에 얻은 점수를 각 2배로 만든다. for(int i=numindex-2;i 당첨 시 해당 점수는 마이너스된다. num[numindex-1]=num[numindex-1]*(-1); // *와 #d은 중첩 가능하므로 *(-1) } } for (auto n : num){ answ..

[C/C++] programmers Level 1 실패율

실패율 코드 #include #include // #include // pair의 헤더파일 //Pair 클래스는 사용자가 지정한 2개의 타입의 데이터를 저장하는데 사용합니다. 서로 연관된 2개의 데이터를 한 쌍으로 묶어서 다룰 때 사용하면 편리합니다. #include // 해시 #include // sort() using namespace std; bool compare(pair a, pair b){ if(a.first==b.first){ // 실패율이 같은 상황 return a.second 오름차순 정렬 b.first; // 실패율 기준 내림차순 정렬 > } } vector solution(int N, vector stages) { vector answer; ..

[C/C++] programmers Level 1 로또의 최고 순위와 최저 순위

코드 #include using namespace std; int ranking(int count) { // 일치하는 번호 개수 별 순위 배정 switch (count) { case 6: return 1; case 5: return 2; case 4: return 3; case 3: return 4; case 2: return 5; default: return 6; } } vector solution(vector lottos, vector win_nums) { vector answer; vector num(46,0); // 0 ~ 46 범위 0으로 채움 int count=0; for(int i=0;i i번째 번호 값 증가 num[win_nums[i]]++; // win_nums -> i번째 번호 값 증가..

[C/C++] programmers Level 1 옹알이 (1,2)

코드 #include #include using namespace std; int solution(vector babbling) { int answer = 0; // 머쓱이의 조카가 발음할 수 있는 단어의 개수 for(auto s : babbling){ int usebabbling=0; // 조합해서 사용 가능 -> 사용한 발음 구분 bool check=true; // 머쓱이의 조카가 발음이 가능한 경우 true for(int i=0;i 1 usebabbling=1; i=i+2; }else if(usebabbling!=2 && s.substr(i,2)=="ye"){ // ye -> 2 usebabbling=2; i=i+1; }else if(usebabbling!=3 && s.substr(i,3)=="wo..

[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는 줄어들지 않는다.