목록프로그래머스 알고리즘/1단계 (50)
N
https://programmers.co.kr/learn/courses/30/lessons/86051 코딩테스트 연습 - 없는 숫자 더하기 0부터 9까지의 숫자 중 일부가 들어있는 배열 numbers가 매개변수로 주어집니다. numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요. 제한 programmers.co.kr 0 ~ 9의 숫자의 총합은 45다. numbers 벡터에서 없는 숫자의 총합이기 때문에, numbers의 원소를 빼면 답이다. #include #include using namespace std; int solution(vector numbers) { int answer = 45; for(int i = 0; i <..
https://programmers.co.kr/learn/courses/30/lessons/12982 코딩테스트 연습 - 예산 S사에서는 각 부서에 필요한 물품을 지원해 주기 위해 부서별로 물품을 구매하는데 필요한 금액을 조사했습니다. 그러나, 전체 예산이 정해져 있기 때문에 모든 부서의 물품을 구매해 줄 수는 programmers.co.kr 최대한 많은 부서에 예산을 줘야하기 때문에 주어진 d 배열을 오름차순으로 정렬한다. 이후 이진 탐색을 진행. 0 ~ mid 인덱스까지의 예산을 더하여 budget보다 작을 때까지의 front 값을 찾아 리턴하면 된다. const binarySearch = (d, mid, budget) => { let sum = 0; for(let i = 0; i budget){ r..
https://programmers.co.kr/learn/courses/30/lessons/77884 코딩테스트 연습 - 약수의 개수와 덧셈 두 정수 left와 right가 매개변수로 주어집니다. left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 하도록 solution 함수를 완성해주 programmers.co.kr #include #include #include #include using namespace std; int getCount(int n){ int count = 0; for(int i = 1; i
programmers.co.kr/learn/courses/30/lessons/76501 코딩테스트 연습 - 음양 더하기 어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 re programmers.co.kr #include #include using namespace std; int solution(vector absolutes, vector signs) { int answer = 0; for(int i = 0; i < signs.size(); i++){ int num = absolutes[i]; if(signs[i]){ answer += num; } el..
programmers.co.kr/learn/courses/30/lessons/77484?language=cpp 코딩테스트 연습 - 로또의 최고 순위와 최저 순위 로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. 1 순위 당첨 내용 1 6개 번호가 모두 일치 2 5개 번호 programmers.co.kr #include #include #include using namespace std; int win(int sum){ if(sum == 6){ return 1; } else if(sum == 5){ return 2; } else if(sum == 4){ return 3; } else if(sum == 3){..
programmers.co.kr/learn/courses/30/lessons/12903 코딩테스트 연습 - 가운데 글자 가져오기 단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다. 재한사항 s는 길이가 1 이상, 100이하인 스트링입니다. 입출력 예 s ret programmers.co.kr function solution(s) { let answer = ''; answer = s.length % 2 ? s.substr(s.length / 2, 1) : s.substr(s.length / 2 - 1, 2); return answer; }
programmers.co.kr/learn/courses/30/lessons/12916?language=javascript 코딩테스트 연습 - 문자열 내 p와 y의 개수 대문자와 소문자가 섞여있는 문자열 s가 주어집니다. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 True, 다르면 False를 return 하는 solution를 완성하세요. 'p', 'y' 모두 하나도 없는 경우는 항상 True를 programmers.co.kr 우선 s를 모두 소문자로 변환한다. 그리고 for문을 통해 p와 y의 개수를 세주고, 개수가 같은지 삼항 연산자로 판단하여 리턴. function solution(s){ let p = 0, y = 0; s = s.toLowerCase(); for(let i = 0; i ..
programmers.co.kr/learn/courses/30/lessons/12915?language=javascript 코딩테스트 연습 - 문자열 내 마음대로 정렬하기 문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 [sun, bed, car]이고 n이 1이면 각 단어의 인덱스 1 programmers.co.kr function solution(strings, n) { for(let i = 0; i strings[j][n]){ [st..