본문 바로가기

프로그래머스62

최댓값 만들기 (2) 📌프로그래머스 120862💡풀이정수 배열을 정렬한다.길이가 n일때, 0번과 1번 원소가 모두 음수이고 두 수의 곱이n - 1 번과 n - 2 번 원소의 곱보다 크면 numbers[0] * numbers[1]을 return아니면 numbers[numbers.Length - 1] * numbers[numbers.Length - 2]을 returnpublic int 최댓값만들기2(int[] numbers){ Array.Sort(numbers); if (numbers[0] * numbers[1] > numbers[numbers.Length - 1] * numbers[numbers.Length - 2]) return numbers[0] * numbers[1]; return numb.. 2024. 5. 26.
배열 비교하기 (C#) 📌프로그래머스 181856💡풀이두 배열의 길이가 같지 않은 조건으로 먼저 비교해 arr1의 길이가 크면 1, arr2의 길이가 크면 -1을 return두 배열의 원소를 모두 더해 arr1이 크면 1, 같으면 0, arr2가 크면 -1을 returnpublic int 배열비교하기(int[] arr1, int[] arr2){ if (arr1.Length != arr2.Length) return arr1.Length > arr2.Length ? 1 : -1; int a1 = 0; int a2 = 0; for (int i = 0; i a2 ? 1 : a1 == a2 ? 0 : -1;} 2024. 5. 26.
문자열 바꿔서 찾기 (C#) 📌프로그래머스 181864💡풀이myString 각 문자를 'A'와 'B'를 서로 바꾼다. 이때, StringBuilder를 사용한다.string.Contains()로 pat가 포함되어 있으면 1을 아니면 0을 반환한다.public int 문자열바꿔서찾기(string myString, string pat){ StringBuilder sb = new StringBuilder(); foreach(char c in myString) { if (c == 'A') sb.Append('B'); else sb.Append('A'); } return sb.ToString().Contains(pat) ? 1 : 0; .. 2024. 5. 26.
배열의 길이에 따라 다른 연산하기 (C#) 📌프로그래머스 181854💡풀이for문을 돌며 배열의 길이가 홀수일 때 짝수번 째, 길이가 짝수일 때 홀수번 째 원소에 n을 더한다.public int[] 배열의길이에따라다른연산하기(int[] arr, int n){ for(int i = 0; i 2024. 5. 26.
뒤에서 5등 위로 (C#) 📌프로그래머스 181852💡풀이주어진 정수 배열을 Array.Sort()로 오름차순으로 정렬한다.5번째 까진 무시하므로 for문을 통해 i = 5부터 진행한다.num_list.Length - 5 크기의 새로운 정수 배열을 만들고 반복문을 통해 할당한다.public int[] 뒤에서5등위로(int[] num_list){ int[] answer = new int[num_list.Length - 5]; Array.Sort(num_list); for(int i = 5; i 2024. 5. 26.
조건에 맞게 수열 변환하기 3 (C#) 📌프로그래머스 181835💡풀이for문으로 arr[i]를 짝수 일 때 += k, 홀수 일 때 *= kpublic int[] 조건에맞게수열변환하기3(int[] arr, int k){ for(int i = 0; i 2024. 5. 26.
ad 제거하기 (C#) 📌프로그래머스 181870💡풀이List를 사용해 ad가 포함되지 않은 문자열만 추가.public string[] ad제거하기(string[] strArr){ List strList = new List(); foreach(string s in strArr) if (!s.Contains("ad")) strList.Add(s); return strList.ToArray();} 2024. 5. 26.
0 떼기 (C#) 📌프로그래머스 181847💡풀이While문으로 첫 문자가 '0'이 아닐 때까지 지운다.제한 사항에 "0"으로만 이루어진 경우가 없다고 하기 때문에 가능하다.public string 영떼기(string n_str){ StringBuilder sb = new StringBuilder(n_str); while (true) { if (sb[0] == '0') sb.Remove(0, 1); else break; } return sb.ToString(); } 다른 방법도 없을까 생각하다 다른 사람의 풀이에서 한 줄로 가능한 것을 찾았다.public string 영떼기(string n_str){ r.. 2024. 5. 25.
부분 문자열인지 확인하기 (C#) 📌프로그래머스 181843💡풀이이전 글인 '부분 문자열'과 같은 문제다. Contains 메서드를 쓰면 해결public int 부분문자열인지확인하기(string my_string, string target){ return my_string.Contains(target) ? 1 : 0;} 2024. 5. 25.