본문 바로가기
728x90
반응형

분류 전체보기116

프로그래머스 Level.1 가운데 글자 가져오기 문제를 아주 쉽게 풀어보자. 아주 그냥 초심자의 사고회로로 풀어버렸다. 너무너무나 초급의 풀이방법인 것 같다. #include #include using namespace std; string solution(string s) { string answer = ""; int a = s.size() / 2; if(s.size() % 2 == 0){ answer.push_back(s[a - 1]); answer.push_back(s[a]); } else{ answer.push_back(s[a]); } return answer; } (다른 사람의 풀이 확인하기) 이것과 비슷한 풀이 방법. 나는 push_back 함수를 사용해 배열에 원소를 추가해줬지만 아예 answer의 인덱스 값에 직접 값을 넣어주는 방법도 .. 2023. 12. 26.
프로그래머스 Level.1 제일 작은 수 제거하기 너무 오랜만에 코딩 공부를 해버렸다. 문법이 잘 기억나지 않는다. 조만간 소스코드로 업무를 빡세게 시작하게 될 예정이기도 하고, 오랜만에 기억을 되찾고자 프로그래머스를 켰다. #include #include #include using namespace std; vector solution(vector arr) { vector answer; if(arr.size() == 1){ arr[0] = -1; } else{ arr.erase(min_element(arr.begin(), arr.end())); } answer = arr; return answer; } 원래는 else에서 제일 큰 값부터 작은 값으로 배열의 원소들을 나열하고, 제일 마지막에 있는 원소를 제거하는 그런 걸 생각했으나 어떻게 써야했나 기억.. 2023. 12. 25.
프로그래머스 Level.1 없는 숫자 더하기 0부터 9까지의 숫자 중 일부가 들어있는 정수 배열 numbers가 매개변수로 주어집니다. numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요. #include #include using namespace std; int solution(vector numbers) { int answer = 0; vector numbs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; for(int i = 0; i < numbs.size(); i++){ for(int j = 0; j < numbers.size(); j++){ if (numbs[i] == numbers[j]){ numbs[i] = 0; } } answer += nu.. 2023. 11. 13.
프로그래머스 Level.1 음양 더하기 어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 return 하도록 solution 함수를 완성해주세요. 문제 초기 화면에 int answer = 123456789; 이렇게 정의되어있길래 이걸 왜 이렇게 한거지? 하고 약간의 혼란이 있었다. 그래서 그냥 0으로 초기화 시키고 문제를 풀어나갔다. 배열 absolutes의 배열 인덱스 값이 양수인지 음수인지 signs 배열의 각 인덱스에 정의되어있다. 그렇게 정의된 값들의 합을 구하라는 문제이다. 그래서 음수만 조건문 안에 -1을 곱해주고, 배열 인덱스의 값들을 모두 더해주는 것으로 문제를 풀었다. #incl.. 2023. 11. 12.
프로그래머스 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.
728x90
반응형