1. 문제설명 프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다. 전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요. 2. 제한사항 ● phone_number는 길이 4 이상, 20이하인 문자열입니다. 3. 입출력 예시 phone_number return "01033334444" "*******4444" "027778888" "*****8888" 4. 나의 풀이 public string solution(string phone_number) { string answer = ""; //phone_number의 범위가 4이상부터니까 구별해줘..
1. 문제설명 머쓱이는 태어난 지 11개월 된 조카를 돌보고 있습니다. 조카는 아직 "aya", "ye", "woo", "ma" 네 가지 발음과 네 가지 발음을 조합해서 만들 수 있는 발음밖에 하지 못하고 연속해서 같은 발음을 하는 것을 어려워합니다. 문자열 배열 babbling이 매개변수로 주어질 때, 머쓱이의 조카가 발음할 수 있는 단어의 개수를 return하도록 solution 함수를 완성해주세요. 2. 제한사항 ● 1 ≤ babbling의 길이 ≤ 100 ● 1 ≤ babbling[i]의 길이 ≤ 30 ● 문자열은 알파벳 소문자로만 이루어져 있습니다. 3. 입출력 예시 babbling result { "aya", "yee", "u", "maa" } 1 {"ayaye", "uuu", "yeye", ..
1. 문제설명 문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요. s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다. 2. 제한사항 ● str은 길이 1 이상인 문자열입니다. 3. 입출력 예시 s return "Zbcdefg" "gfedcbZ" 4. 나의 풀이 public string solution(string s) { string answer = ""; char[] arrayS = s.ToCharArray(); Array.Sort(arrayS); string str = new string(arrayS); for (int i = str.Length - 1; i >= 0; i--) { answer +=..
1. 문제설명 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을 반환해 주세요. 2. 제한사..
1. 문제설명 숫자나라 기사단의 각 기사에게는 1번부터 number까지 번호가 지정되어 있습니다. 기사들은 무기점에서 무기를 구매하려고 합니다. 각 기사는 자신의 기사 번호의 약수 개수에 해당하는 공격력을 가진 무기를 구매하려 합니다. 단, 이웃나라와의 협약에 의해 공격력의 제한수치를 정하고, 제한수치보다 큰 공격력을 가진 무기를 구매해야 하는 기사는 협약기관에서 정한 공격력을 가지는 무기를 구매해야 합니다. 예를 들어, 15번으로 지정된 기사단원은 15의 약수가 1, 3, 5, 15로 4개 이므로, 공격력이 4인 무기를 구매합니다. 만약, 이웃나라와의 협약으로 정해진 공격력의 제한수치가 3이고 제한수치를 초과한 기사가 사용할 무기의 공격력이 2라면, 15번으로 지정된 기사단원은 무기점에서 공격력이 2인..
1. 문제설명 코니는 영어 단어가 적힌 카드 뭉치 두 개를 선물로 받았습니다. 코니는 다음과 같은 규칙으로 카드에 적힌 단어들을 사용해 원하는 순서의 단어 배열을 만들 수 있는지 알고 싶습니다. ● 원하는 카드 뭉치에서 카드를 순서대로 한 장씩 사용합니다. ● 한 번 사용한 카드는 다시 사용할 수 없습니다. ● 카드를 사용하지 않고 다음 카드로 넘어갈 수 없습니다. ● 기존에 주어진 카드 뭉치의 단어 순서는 바꿀 수 없습니다. 예를 들어 첫 번째 카드 뭉치에 순서대로 ["i", "drink", "water"], 두 번째 카드 뭉치에 순서대로 ["want", "to"]가 적혀있을 때 ["i", "want", "to", "drink", "water"] 순서의 단어 배열을 만들려고 한다면 첫 번째 카드 뭉치에..
1. 문제설명 1부터 입력받은 숫자 n 사이에 있는 소수의 개수를 반환하는 함수, solution을 만들어 보세요. 소수는 1과 자기 자신으로만 나누어지는 수를 의미합니다.(1은 소수가 아닙니다.) 2. 제한사항 ● n은 2이상 1000000이하의 자연수입니다. 3. 입출력 예시 n result 10 4 5 3 4. 나의 풀이 public int solution(int n) { int answer = 0; int[] arr = new int[n + 1]; //arr배열 2번방부터 2부터 순서대로 숫자를 넣어준다. for (int i = 2; i
1. 문제설명 주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때 소수가 되는 경우의 개수를 return 하도록 solution 함수를 완성해주세요. 2. 제한사항 ● nums에 들어있는 숫자의 개수는 3개 이상 50개 이하입니다. ● nums의 각 원소는 1 이상 1,000 이하의 자연수이며, 중복된 숫자가 들어있지 않습니다. 3. 입출력 예시 nums result [1,2,3,4] 1 [1,2,7,6,4] 4 4. 나의 풀이 public int solution(int[] nums) { int answer = 0; //숫자 3개를 조합하기 위한 삼중for..
1. 문제설명 길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다. 2. 제한사항 ● n은 길이 10,000이하인 자연수입니다. 3. 입출력 예시 n return 3 "수박수" 4 "수박수박" 4. 나의 풀이 public string solution(int n) { string answer = ""; //홀수일 때는 "수", 짝수일 때는 "박"을 answer에 추가해주는 for문. for (int i = 1; i
1. 문제설명 String형 배열 seoul의 element중 "Kim"의 위치 x를 찾아, "김서방은 x에 있다"는 String을 반환하는 함수, solution을 완성하세요. seoul에 "Kim"은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없습니다. 2. 제한사항 ● seoul은 길이 1 이상, 1000 이하인 배열입니다. ● seoul의 원소는 길이 1 이상, 20 이하인 문자열입니다. ● "Kim"은 반드시 seoul 안에 포함되어 있습니다. 3. 입출력 예시 seoul return ["Jane", "Kim"] "김서방 1에 있" 4. 나의 풀이 { string answer = ""; for (int i = 0; i < seoul.Length; i++) { if (seoul[i] ==..