728x90 반응형 프로그래머스 C++65 프로그래머스 Level.1 콜라츠 추측 1937년 Collatz란 사람에 의해 제기된 이 추측은, 주어진 수가 1이 될 때까지 다음 작업을 반복하면, 모든 수를 1로 만들 수 있다는 추측입니다. 작업은 다음과 같습니다. 예를 들어, 주어진 수가 6이라면 6 → 3 → 10 → 5 → 16 → 8 → 4 → 2 → 1 이 되어 총 8번 만에 1이 됩니다. 위 작업을 몇 번이나 반복해야 하는지 반환하는 함수, solution을 완성해 주세요. 단, 주어진 수가 1인 경우에는 0을, 작업을 500번 반복할 때까지 1이 되지 않는다면 –1을 반환해 주세요. #include #include using namespace std; int solution(int num) { int answer = 0; long long n = num; while(true).. 2023. 10. 21. 프로그래머스 Level.1 서울에서 김서방 찾기 String형 배열 seoul의 element중 "Kim"의 위치 x를 찾아, "김서방은 x에 있다"는 String을 반환하는 함수, solution을 완성하세요. seoul에 "Kim"은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없습니다. 문제를 바로 이해하지 못했다. 오랜만에 프로그래머스를 풀었더니 감떨어진게 확실하다. x에는 인덱스 값이 들어가야 하는 것이다. 문제가 있다면 저 문자열의 가운데 있는 숫자에 값을 넣어주어야하는데, 어떻게 넣을 것인가 고민이 되었다. printf( "김서방은 %d에 있다", i); 이런 느낌으로 넣을 수 있었으면 했는데 c++에서, return해야할 때는 어떻게 해야할 것인가. 고민이 많았고, 역시 이 부분은 오리지널 c++의 기능적인 부분을 알아야 해결할 .. 2023. 9. 24. 프로그래머스 Level1. 두 정수 사이의 합 두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요. 예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다. #include #include using namespace std; long long solution(int a, int b) { long long answer = 0; if(abs(b - a) == 0) answer = a; else{ for(int i = 0; i b){ answer += (b + i); } else{ answer += (a + i); } } } return answer; } a와 b의 값이 같은 경우는 a 나 b 둘.. 2023. 8. 30. 프로그래머스 Level.1 하샤드 수 양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하샤드 수인지 아닌지 검사하는 함수, solution을 완성해주세요. #include #include using namespace std; bool solution(int x) { bool answer = true; string n = to_string(x); int a = 0; for(int i = 0; i < n.size();i++){ a += (n[i] - '0'); } x % a == 0 ? answer = true : answer = false; return answer; } 정수들의 합의 .. 2023. 8. 21. 프로그래머스 Level1. 정수 내림차순으로 배치하기 #include #include #include using namespace std; long long solution(long long n) { long long answer = 0; string num = to_string(n); sort(num.begin(), num.end()); reverse(num.begin(), num.end()); for(int i = num.size(); i > 0; i--){ answer = stoi(num); } return answer; } 계속 풀다가 첫번째로 통과되었지만 core dump가 발생해 다시 수정해야했던 답안 sort 사용해서 end() 부터 begin()까지 넣으려 했지만 여기서 core dump가 발생해 저렇게 작업해준 것이다. 새로운 함수를 찾아야.. 2023. 8. 20. 프로그래머스 Level.0 문자 반복 출력하기 문자열 my_string과 정수 n이 매개변수로 주어질 때, my_string에 들어있는 각 문자를 n만큼 반복한 문자열을 return 하도록 solution 함수를 완성해보세요. 전에 프로그래머스의 어떤 문제를 풀었을 때 이런 답이 나와서 킹받았던 적이 있었는데 이런 문제가 등장할 거였으면 그 답변 또한 적어놓을껄.. 현재는 이중for문을 사용한 답밖에 생각나지 않았다. #include #include using namespace std; string solution(string my_string, int n) { string answer = ""; for(int i = 0; i < my_string.size(); i++){ for(int j = 0; j < n; j++){ answer.push_bac.. 2023. 8. 12. 이전 1 2 3 4 5 6 ··· 11 다음 728x90 반응형