본문 바로가기

::public/코딩테스트 풀이45

같은 숫자는 싫어 *같은 숫자는 싫어 배열에 연속적으로 나타나는 숫자 하나만 남기고 제거. #include #include using namespace std; vector solution(vector arr) { vector answer; int temp = arr[0]; answer.push_back(temp); for(int i : arr) { if(i != temp) { answer.push_back(i); temp = i; } } return answer; }Colored by Color Scriptercs 2019. 9. 5.
가운데 글자 가져오기 *가운데 글자 가져오기(string) #include #include using namespace std; string solution(string s) { string answer = ""; int len = s.length(); int center = (len + (len % 2)) / 2; int pos = 2 - (len % 2); answer = s.substr(center - 1, pos); return answer; } Colored by Color Scriptercs 2019. 9. 5.
2016년 *2016년 a월 b일 요일 구하기. 16년 1월 1일은 금요일. 윤년(2.29) #include using namespace std; string solution(int a, int b) { string answer = ""; vector day = {"THU","FRI","SAT","SUN","MON","TUE","WED"}; vector month = {31,29,31,30,31,30,31,31,30,31,30,31}; int count = 0; for(int i = 0; i 2019. 9. 5.
K번째 수 *k번째 수(정렬) #include #include #include using namespace std; vector solution(vector array, vector commands) { vector answer; for(auto elem : commands) { vector temp; for(int i = elem[0] - 1; i 2019. 9. 5.
소수의 합 *소수의 합(기타) 2부터 N까지의 모든 소수의 합을 구하기. #include using namespace std; long long solution(int N) { long long answer = 0; vector nums; nums.assign(N + 1, 1); // N + 1 만큼의 배열 개수를 1의 값으로 채운다. for(int i = 2; i 2019. 9. 5.
*탑(스택) 수평 직선에 탑 N대를 세웠습니다. 발사한 신호는 신호를 보낸 탑보다 높은 탑에서만 수신합니다. 또한, 한 번 수신된 신호는 다른 탑으로 송신되지 않습니다. #include #include using namespace std; vector solution(vector heights) { vector answer; answer.push_back(0); for(int i = 1; i = 0; j--) { if(heights[j] > heights[i]) { answer.push_back(j + 1); break; } else if(j == 0) { answer.push_back(0); } } } return answer; }Colored by Color Scriptercs 2019. 9. 5.