알고리즘 & 자료구조
-
[프로그래머스]문자열 내림차순으로 배치하기(C++)알고리즘 & 자료구조/코딩테스트 2021. 2. 9. 20:05
문제 설명 문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요. s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다. 제한 사항 str은 길이 1 이상인 문자열입니다. 입출력 예 s return Zbcdefg gfedcbZ sort() 를 이용하면 간단히 해결가능 sort 내림차순 정리한 내용 => junecode.tistory.com/67 #include #include #include #include using namespace std; //첫 번째 방법 bool comp(char a, char b) { return a > b; } string solution(string s) { string answ..
-
[프로그래머스] 수박수박수박수박수박수? (C++)알고리즘 & 자료구조/코딩테스트 2021. 2. 8. 16:55
문제 설명 길이가 n이고, 수박수박수박수....와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 수박수박을 리턴하고 3이라면 수박수를 리턴하면 됩니다. 제한 조건 n은 길이 10,000이하인 자연수입니다. 입출력 예 n return 3 수박수 4 수박수박 설명할게 딱히 없다. #include #include #include using namespace std; string solution(int n) { string answer = ""; for(int i = 0; i < n; i++) { if(i%2 == 0) { answer += "수"; } else { answer += "박"; } } return answer; } int main (void) {..
-
[프로그래머스] 서울에서 김서방 찾기 (C++)알고리즘 & 자료구조/코딩테스트 2021. 2. 7. 20:51
문제 설명 String형 배열 seoul의 element중 Kim의 위치 x를 찾아, 김서방은 x에 있다는 String을 반환하는 함수, solution을 완성하세요. seoul에 Kim은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없습니다. 제한 사항 seoul은 길이 1 이상, 1000 이하인 배열입니다. seoul의 원소는 길이 1 이상, 20 이하인 문자열입니다. Kim은 반드시 seoul 안에 포함되어 있습니다. 입출력 예 seoul return [Jane, Kim] 김서방은 1에 있다 더보기 std::to_string string to_string (int val); string to_string (long val); string to_string (long long val); str..
-
[프로그래머스] 나누어 떨어지는 숫자 배열 (C++)알고리즘 & 자료구조/코딩테스트 2021. 2. 6. 20:40
문제 설명 array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요. divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하세요. 제한사항 arr은 자연수를 담은 배열입니다. 정수 i, j에 대해 i ≠ j 이면 arr[i] ≠ arr[j] 입니다. divisor는 자연수입니다. array는 길이 1 이상인 배열입니다. 입출력 예 arr divisor return [5, 9, 7, 10] 5 [5, 10] [2, 36, 1, 3] 1 [1, 2, 3, 36] [3,2,6] 10 [-1] 입출력 예 설명 입출력 예#1 arr의 원소 중 5로 나누어 떨어지는 원소는 5와 10입니다. 따라..
-
[프로그래머스]두 정수 사이의 합(C++)알고리즘 & 자료구조/코딩테스트 2021. 2. 6. 20:24
문제 설명 두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요. 예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다. 제한 조건 a와 b가 같은 경우는 둘 중 아무 수나 리턴하세요. a와 b는 -10,000,000 이상 10,000,000 이하인 정수입니다. a와 b의 대소관계는 정해져있지 않습니다. 입출력 예 a b return 3 5 12 3 3 3 5 3 12 기초적인 문제라 설명은 패스한다. #include #include #include using namespace std; long long solution(int a, int b) { long long answer = 0; if(a < b)..
-
[프로그래머스] 문자열 다루기 기본 (C++)알고리즘 & 자료구조/코딩테스트 2021. 2. 5. 21:10
문제 설명 문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 a234이면 False를 리턴하고 1234라면 True를 리턴하면 됩니다. 제한 사항 s는 길이 1 이상, 길이 8 이하인 문자열입니다. 입출력 예 s return a234 false 1234 true 더보기 본인 같은 경우는 문자열의 길이를 먼저 확인해주고, 아스키 코드를 이용해서 범위를 정해주어 확인해줬다. #include #include #include using namespace std; bool solution(string s) { bool answer = true; if(s.length() != 4 && s.length() != 6) { answer = fals..
-
[프로그래머스] 같은 숫자는 싫어! (C++)알고리즘 & 자료구조/코딩테스트 2021. 2. 3. 22:16
문제 설명 배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 수들을 반환할 때는 배열 arr의 원소들의 순서를 유지해야 합니다. 예를 들면, arr = [1, 1, 3, 3, 0, 1, 1] 이면 [1, 3, 0, 1] 을 return 합니다. arr = [4, 4, 4, 3, 3] 이면 [4, 3] 을 return 합니다. 배열 arr에서 연속적으로 나타나는 숫자는 제거하고 남은 수들을 return 하는 solution 함수를 완성해 주세요. 제한사항 배열 arr의 크기 : 1,000,000 이하의 자연수 배열 arr의 원소의 크기 : 0보다 크거나 ..
-
[프로그래머스] 가운데 글자 가져오기알고리즘 & 자료구조/코딩테스트 2021. 2. 3. 14:29
문제 설명 단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다. 재한사항 s는 길이가 1 이상, 100이하인 스트링입니다. 입출력 예 s return abcde c qwer we 간단한 문제였다. 더보기 나같은 경우는 홀수인 경우 와 짝수인 경우로 나눠서 그에 따른 문자 혹은 문자열 추출 방법을 구현해줬다. 하지만 다른분이 제출한 답을 보니 한줄만에도 구현이 가능한듯 하다.(참고하시길) #include #include #include using namespace std; string solution(string s) { string answer = ""; if(s.length() % 2 == 0) //짝수일때 { for(int..
-
[프로그래머스]K번째 수 (C++)알고리즘 & 자료구조/코딩테스트 2021. 2. 1. 20:22
문제 설명 배열 array의 i번째 숫자부터 j번째 숫자까지 자르고 정렬했을 때, k번째에 있는 수를 구하려 합니다. 예를 들어 array가 [1, 5, 2, 6, 3, 7, 4], i = 2, j = 5, k = 3이라면 array의 2번째부터 5번째까지 자르면 [5, 2, 6, 3]입니다. 1에서 나온 배열을 정렬하면 [2, 3, 5, 6]입니다. 2에서 나온 배열의 3번째 숫자는 5입니다. 배열 array, [i, j, k]를 원소로 가진 2차원 배열 commands가 매개변수로 주어질 때, commands의 모든 원소에 대해 앞서 설명한 연산을 적용했을 때 나온 결과를 배열에 담아 return 하도록 solution 함수를 작성해주세요. 제한사항 array의 길이는 1 이상 100 이하입니다. a..
-
[baekjoon] 신입 사원 1946번 (C++)알고리즘 & 자료구조/코딩테스트 2021. 2. 1. 15:28
문제 언제나 최고만을 지향하는 굴지의 대기업 진영 주식회사가 신규 사원 채용을 실시한다. 인재 선발 시험은 1차 서류심사와 2차 면접시험으로 이루어진다. 최고만을 지향한다는 기업의 이념에 따라 그들은 최고의 인재들만을 사원으로 선발하고 싶어 한다. 그래서 진영 주식회사는, 다른 모든 지원자와 비교했을 때 서류심사 성적과 면접시험 성적 중 적어도 하나가 다른 지원자보다 떨어지지 않는 자만 선발한다는 원칙을 세웠다. 즉, 어떤 지원자 A의 성적이 다른 어떤 지원자 B의 성적에 비해 서류 심사 결과와 면접 성적이 모두 떨어진다면 A는 결코 선발되지 않는다. 이러한 조건을 만족시키면서, 진영 주식회사가 이번 신규 사원 채용에서 선발할 수 있는 신입사원의 최대 인원수를 구하는 프로그램을 작성하시오. 입력 첫째 줄..