본문 바로가기

분류 전체보기136

할 일 목록 (C#) 📌프로그래머스 181885💡풀이string 리스트를 만든다for문을 돌며 완료하지 못한 일들을 리스트에 추가한다.public string[] 할일목록(string[] todo_list, bool[] finished){ List list = new List(); for(int i = 0; i 2024. 5. 29.
배열의 원소 삭제하기 (C#) 📌프로그래머스 181844💡풀이arr의 원소가 들어있는 정수 List를 만든다.Contains 메서드를 사용해 반복문을 돌며 delete_list의 각 원소가 arr 리스트에 포함되어 있으면 삭제public int[] 배열의원소삭제하기(int[] arr, int[] delete_list){ List intList = new List(arr); foreach (int i in delete_list) { if(intList.Contains(i)) intList.Remove(i); } return intList.ToArray();} 2024. 5. 29.
공백으로 구분하기 2 (C#) 📌프로그래머스 181868💡풀이string 리스트를 만든다.foreach문으로 StringBuilder를 사용해 문자가 있는 경우만 AppendStringBuilder의 길이가 0 보다 클 때 공백이 나오면 string 리스트에 Addforeach문을 빠져나왔을 때 마지막으로 StringBuilder의 길이가 0 보다 크면 Addpublic string[] 공백으로구분하기2(string my_string){ List sList = new List(); StringBuilder sb = new StringBuilder(); foreach (char c in my_string) { if (c == ' ') { if (sb.Length > .. 2024. 5. 29.
이진 탐색 (C#) 📌 이진 탐색(Binary Search) 란?이진탐색(Binary Search)은 정렬된 배열이나 리스트에서 특정 값을 찾기 위한 효율적인 알고리즘이다.배열의 중간 요소를 선택해 일치하면 검색 종료.중간 요소가 찾는 값보다 크면 왼쪽 부분, 작으면 오른쪽 부분 배열에서 계속 검색.이렇듯 계속해서 배열의 부분배열을 반복적으로 나누며 검색한다. 계속해서 배열을 반으로 나누며 검색을 한다.정렬이 되어 있어야만 사용 가능하다.Up/Down 게임과 원리가 같다.시간 복잡도는 O(log n)이다.구현 코드static int BinarySearch(int[] arr, int target){ int left = 0; // 왼쪽 시작 int right = arr.Length - 1; // 오른쪽 시작 .. 2024. 5. 27.
뒤에서 5등까지 (C#) 📌프로그래머스 181853💡풀이num_list 배열을 정렬한다.크기가 5인 새로운 정수 배열을 만들고 차례로 num_list의 각 원소를 할당한다.public int[] 뒤에서5등까지(int[] num_list){ int[] answer = new int[5]; Array.Sort(num_list); for (int i = 0; i 2024. 5. 26.
rny_string (C#) 📌프로그래머스 181863💡풀이StringBuilder를 만든다foreach문으로 rny_string의 각 문자를 확인 후 'm'이면 문자열 "rn"을 Append 후 continue'm'이 아니면 각 문자를 Appendpublic string rny_string(string rny_string){ StringBuilder sb = new StringBuilder(); foreach(char c in rny_string) { if (c == 'm') { sb.Append("rn"); continue; } sb.Append(c); } return sb.ToString();} 다른 사람의 .. 2024. 5. 26.
배열의 원소만큼 추가하기 (C#) 📌프로그래머스 181847💡풀이빈 배열에 추가한다고 되어있으니 List를 쓰면 된다.arr의 각 원소만큼 추가한다고 되어있으니 이중 for문을 쓴다.public int[] 배열의원소만큼추가하기(int[] arr){ List list = new List(); for (int i = 0; i 2024. 5. 26.
최댓값 만들기 (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.