전체 글75 프로그래머스 : 콜라 문제 [C++] 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/132267 문제 설명 1. 콜라 빈 병 2개를 가져다주면 콜라 1병을 주는 마트가 있다. 2. 빈 병 20개를 가져다주면 몇 병을 받을 수 있는가? 3. 단, 보유 중인 빈 병이 2개 미만이면, 콜라를 받을 수 없다. 4.콜라를 받기 위해 마트에 주어야 하는 병 수 a 5. 빈 병 a개를 가져다 주면 마트가 주는 콜라 병 수 b 6.상빈이가 가지고 있는 빈 병의 개수 n 7. 상빈이가 받을 수 있는 콜라의 병 수를 return 하도록 solution 함수를 작성해주세요. 문제 입출력 예) a b n result 2 1 20 19 3 1 20 9 문제 풀이 4개의 변수로 구별해서 코드를 작성.. 2022. 10. 29. 프로그래머스 : 중간 리뷰 (5일차) [C++] 학습 리뷰 C++ 코딩연습한지 5일차가 되었다. 프로그래머의 길은 갈고도 험하다... 나만 그렇게 생각하나 참 어렵다. 그래도 5일동안 열심히 달렸기에 아래와 같이 달성 할 수 있었다. 순위 : 21,585 -> 16,111 점수 : 1,289 -> 1,247 해결한 문제 : 102 -> 113 오늘의 학습 목록 1. Dp 2. Greedy 앞으로도 자료구조나 알고리즘 공부를 많이 해야겠다. 점점 효율성이 중요해지는 사회...,,,ㅎㅎ.. 2022. 10. 28. 프로그래머스 : 멀리뛰기 [C++] 2022. 10. 28. 프로그래머스 : 구명보트 [C++] 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/42885 문제 설명 1. 무인도에 갇힌 사람들을 구명보트를 이용하여 구출하려고 합니다. 2. 구명보트는 작아서 한 번에 최대 2명씩 밖에 탈 수 없고, 무게 제한도 있습니다. 3. 구명보트를 최대한 적게 사용하여 모든 사람을 구출하려고 합니다. 문제 입출력 예) people limit return [70, 50, 80, 50] 100 3 [70, 80, 50] 100 3 문제 풀이 우선적으로, people에 있는 데이터를 오름차순 정렬 하도록한다. people의 배열의 첫번째 값 + 배열의 마지막 값이 limit보다 작거나 같으면 구명보트에 태울 수 있는 무게에서 가장 이상적인 무게가 된다.. 2022. 10. 28. 프로그래머스 : 짝지어 제거하기 [C++] 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/12973 문제 설명 1. 알파벳 소문자로 이루어진 문자열이 매개변수로 주어진다. 2. 문자열에서 같은 알파벳이 2개가 붙어 있는 짝을 찾습니다. 3. 같은 알파벳 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙입니다 4. 이 과정을 반복해서 문자열을 모두 제거한다면 짝지어 제거하기 종료 5. 문자열 S가 주어졌을 때, 짝지어 제거하기를 성공적으로 수행할 수 있는지 리턴값 반환하기. 6. 성공적으로 수행은 1리턴, 아닐 경우 0 리턴 문제 입출력 예) s result baabaa 1 cdcd 0 문제 풀이1 반복문을 사용해서, 앞과 뒤의 값이 같은지 확인하면 된다. for 문을 활용하여 배열[i].. 2022. 10. 27. 프로그래머스 : 다음 큰 숫자 [C++] 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/12911 문제 설명 자연수 n이 매개변수로 주어질 때, n의 다음 큰 숫자를 return 하는 solution 함수를 완성해주세요. 문제 입출력 예) n return 78 83 15 23 문제 풀이1 2진법으로 변환 후 1의 개수를 파악한다. n값을 1씩 증가시켜, 초기값 n과 동일한 1의 개수를 가진 숫자를 구한다. 2진법으로 변환 후 1의 개수를 파악하는 함수 작성 n값을 1씩 증가시킨다. #include #include #include #include using namespace std; int two(int n){ int chCount = 0; while(n!=0){ if(n%2 =.. 2022. 10. 27. 프로그래머스 : 숫자의 표현 [C++] 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/12924 문제 설명 자연수 n이 매개변수로 주어질 때, 연속된 자연수들로 n을 표현하는 방법의 수를 return하는 solution를 완성해주세요. 문제 입출력 예) n result 15 4 문제 풀이 연속된 자리수를 생각했기에, for문을 활용하였다. 이중 for문을 이용하여, 연속된 자리 수를 더해준다. 만약 n값보다 큰 값이 되면 break n값과 같은 같이면 answer ++를 해준다. #include #include #include using namespace std; int solution(int n) { int answer = 0; for(int i=0; i 2022. 10. 27. 프로그래머스 : 피보나치 수 [C++] 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/12945 문제 설명 피보나치 수는 F(0) = 0, F(1) = 1일 때, 1 이상의 n에 대하여 F(n) = F(n-1) + F(n-2) 가 적용되는 수 입니다. 2 이상의 n이 입력되었을 때, n번째 피보나치 수를 1234567으로 나눈 나머지를 리턴하는 함수, solution을 완성해 주세요. 문제 입출력 예) n return 3 2 5 5 문제 풀이1 피보나치 수열 함수를 만들어서, 실행해 주도록 한다. 피보나치 수열 함수 작성 나머지연산자 이용 #include #include #include using namespace std; int fibo(int n){ if(n == 0) r.. 2022. 10. 27. 프로그래머스 : 올바른 괄호 [C++] 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/12909 문제 설명 괄호가 바르게 짝지어졌다는 것은 '(' 문자로 열렸으면 반드시 짝지어서 ')' 문자로 닫혀야 한다는 뜻입니다. 문자열 s가 주어졌을 때, 문자열 s가 올바른 괄호이면 true를 return 하고, 올바르지 않은 괄호이면 false를 return 하는 solution 함수를 완성해 주세요. 문제 입출력 예) s answer "()()" true "(())()" true ")()(" false "(()(" false 문제 풀이 push, pop 으로 풀 수 있지만, 다른 방법으로 풀이하였다. count 로 "("괄호가 삽입 시 +1 , ")"괄호가 삽입 시 -1를 해준다. .. 2022. 10. 27. 이전 1 ··· 5 6 7 8 9 다음