본문 바로가기

코딩 기초 트레이닝19

[프로그래머스][C++] 홀짝 구분하기 #include using namespace std; int main(void) { int n; cin >> n; cout 2023. 10. 19.
[프로그래머스][C++] 문자열 돌리기 #include #include using namespace std; int main(void) { string str; cin >> str; for(int i = 0; i < str.size(); i++) { cout 2023. 10. 19.
[프로그래머스][C++] 조건에 맞게 수열 변환하기 2 #include #include #include using namespace std; int solution(vector arr) { int x = 0; while(true) { vector prevArr = arr; // 이전 배열 for(int i = 0; i = 50 && arr[i] % 2 == 0) { // 50보다 크거나 같고, 짝수인 경우 arr[i] /= 2; } else if(arr[i] < 50 && arr[i] % 2 == 1) { // 50보다 작고, 홀수인 경우 arr[i] = arr[i] * 2 + 1; } } // 정렬 sort(prevArr.begin(), prevArr.end()); sort(arr.begin(), a.. 2023. 10. 18.
[프로그래머스][C++] 뒤에서 5등까지 #include #include #include using namespace std; vector solution(vector num_list) { vector answer; for(int i = 0; i num_list[j]) { curMin = num_list[j]; minIndex = j; } } answer.push_back(curMin); swap(num_list[i], num_list[minIndex]); } return answer; } 1. 가장 작은 5개의 수를 구해야 하므로 .. 2023. 10. 17.
[프로그래머스][C++] 조건에 맞게 수열 변환하기 3 #include #include using namespace std; vector solution(vector arr, int k) { if(k % 2 == 0) { // k가 짝수 for(int i = 0; i < arr.size(); i++) { arr[i] += k; } } else { // k가 홀수 for(int i = 0; i < arr.size(); i++) { arr[i] *= k; } } return arr; } 1. k를 2로 나눈 나머지 값을 이용해 짝수인지 홀수인지 판단한다. 2. 짝수라면 주어진 arr를 반복하며 각 원소에 k만큼 더해준다. 3. 홀수라면 주어진 arr를 반복하며 각 원소에 k만큼 곱해준다. 4. arr를 리턴해준다. 어렵지 않게 금방 풀었다. 2023. 10. 16.
[프로그래머스][C++] 공백으로 구분하기 1 #include #include using namespace std; vector solution(string my_string) { vector answer; string curStr = ""; for(int i = 0 ; i < my_string.size(); i++) { if(my_string[i] == ' ') { answer.push_back(curStr); curStr = ""; } else { curStr += my_string[i]; } } answer.push_back(curStr); return answer; } 1. 각 단어들을 담을 curStr 선언 2. 문자열을 반복하면서 공백이 나오는지 체크 3. 공백이 나오지 않았다면 curStr에 현재 문자를 추가 4. 공백이 나왔다면 지금껏.. 2023. 10. 16.
[프로그래머스][C++] 접미사인지 확인하기 #include #include using namespace std; int solution(string my_string, string is_suffix) { int answer = 1; for(int i = 0; i < is_suffix.size() ; i++) { if(my_string[my_string.size() - 1 - i] != is_suffix[is_suffix.size() - 1 - i]) return 0; } return answer; } 1. 0부터 is_suffix의 크기만큼 반복을 진행 2. 문자열 my_string와 is_suffix의 마지막원소부터 하나씩 앞으로 나가면서 비교를 진행 3. 비교하는 중에 하나라도 틀리다면 0을 리턴 4. 반복문을 빠져나왔다면 is_suffix의.. 2023. 10. 13.