문제 설명 1937년 Collatz란 사람에 의해 제기된 이 추측은, 주어진 수가 1이 될 때까지 다음 작업을 반복하면, 모든 수를 1로 만들 수 있다는 추측입니다. 작업은 다음과 같습니다. 1-1. 입력된 수가 짝수라면 2로 나눕니다. 1-2. 입력된 수가 홀수라면 3을 곱하고 1을 더합니다. 2. 결과로 나온 수에 같은 작업을 1이 될 때까지 반복합니다. 예를 들어, 주어진 수가 6이라면 6 → 3 → 10 → 5 → 16 → 8 → 4 → 2 → 1 이 되어 총 8번 만에 1이 됩니다. 위 작업을 몇 번이나 반복해야 하는지 반환하는 함수, solution을 완성해 주세요. 단, 주어진 수가 1인 경우에는 0을, 작업을 500번 반복할 때까지 1이 되지 않는다면 –1을 반환해 주세요. 제한사항 입력된..
문제 설명 정수 num이 짝수일 경우 "Even"을 반환하고 홀수인 경우 "Odd"를 반환하는 함수, solution을 완성해주세요. 제한사항 num은 int 범위의 정수입니다. 0은 짝수입니다. 입출력 예 num return 3 "Odd" 4 "Even" 풀이 public class Solution { public string solution(int num) { //2로 나누어서 나머지가 없으면 짝수 //나머지가 존재하면 홀수 if(num % 2 == 0) return "Even"; else return "Odd"; } } 문제 출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges
문제 설명 문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다. 제한사항 s 는 길이 1 이상, 길이 8 이하인 문자열입니다. s 는 영문 알파벳 대소문자 또는 0부터 9까지 숫자로 이루어져 있습니다. 입출력 예 s return "a234" false "1234" true 풀이 public class Solution { public bool solution(string s) { bool answer = true; int result = 0; //만약 문자열의 길이가 4 혹은 6일 경우 // 문자열의 문자를 정수형으로 TryParse가 되지 않을 경우 //..
문제 설명 문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요. s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다. 제한사항 str은 길이 1 이상인 문자열입니다. 입출력 예 s return "Zbcdefg" "gfedcbZ" 풀이 using System.Linq; using System; public class Solution { public string solution(string s) { //문자열을 문자로 나누어 chr이라는 문자 배열에 대입. //chr 배열을 오름차순으로 정렬 후 Reverse로 반대인 내림차순으로 정렬 후 return char[] chr = s.ToString().ToChar..
문제 설명 두 정수 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 풀이 public class Solution { public long solution(int a, int b) { long answer = 0; long num = 0; if(a==b) { answer = a; } // a와 b 중 큰 수와..
문제 설명 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와..
문제 설명 단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다. 제한사항 s는 길이가 1 이상, 100이하인 스트링입니다. 입출력 예 s return "abcde" "c" "qwer" "we" 풀이 public class Solution { public string solution(string s) { //단어의 길이가 짝수인지 확인 후 //짝수라면 가운데 두개 숫자를 //출력할 수 있도록 문자열을 자름. int a = (s.Length+1) % 2; int b = (s.Length / 2) - a; return s.Substring(b, a+1); } } 문제 출처: 프로그래머스 코딩 테스트 연습, https://school..
문제 설명 정수를 담고 있는 배열 arr의 평균값을 return하는 함수, solution을 완성해보세요. 제한사항 arr은 길이 1 이상, 100 이하인 배열입니다. arr의 원소는 -10,000 이상 10,000 이하인 정수입니다. 입출력 예 arr return [1, 2, 3, 4] 2.5 [5, 5] 5 풀이 using System.Linq; public class Solution { public double solution(int[] arr) { // 배열의 평균 구하는 함수 return arr.Average(); } } 문제 출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges