본문 바로가기

프로그래머스62

9로 나눈 나머지 (C#) 📌프로그래머스 181914💡풀이문제 자체에 답이 있다. 각 자릿수를 더해서 9로 나눈 나머지를 구하라고 했으니 각 문자를 더한다.9로 나눈 나머지를 반환public int 구로나눈나머지(string number){ int answer = 0; foreach(char c in number) answer += c - '0'; return answer %= 9;} 2024. 6. 3.
접미사 배열 (C#) 📌프로그래머스 181909💡풀이my_String이 담긴 StringBuilder를 만든다.my_String길이만큼의 문자열 배열을 만든다.반복문으로 문자열 배열에 sb를 차례로 담고 담은 뒤, sb의 0번 문자를 제거한다.Sort로 정렬public string[] 접미사배열(string my_string){ StringBuilder sb = new StringBuilder(my_string); string[] strArr = new string[my_string.Length]; for(int i = 0; i 2024. 6. 3.
인덱스 바꾸기 (C#) 📌프로그래머스 120895💡풀이my_String을 담은 StringBuilder를 만든다주어진 인덱스의 sb 문자를 my_String의 다른 인덱스로 교체public string 인덱스바꾸기(string my_string, int num1, int num2){ StringBuilder sb = new StringBuilder(my_string); sb[num1] = my_string[num2]; sb[num2] = my_string[num1]; return sb.ToString();} 2024. 6. 3.
두 수의 합 (C#) 📌프로그래머스 181846💡풀이int.Parse로는 못 푸는 문제. string 길이가 100,000 이하이기 때문에 double을 사용해도 정확한 정수값으로 표현 할 수 없다문자열의 각 인덱스의 문자를 서로 더하는 문제a와 b중 더 긴 길이를 가진 string을 for문의 범위로 설정a[i] + b[i]가 10을 넘겼을 때 10의 자리를 더할 수 있도록 int 변수 하나를 선언for문을 돌 때, a.Length - 1 - i 식을 이용해 가장 뒤인 1의 자리부터 더하는 방식을 사용이 때, 문자열의 길이가 i 보다 작으면 해당 자리수는 없는 것으로 간주해 0을 더함많은수의 문자열 할당이 일어나므로 StringBuilder를 반 필수적으로 사용StringBuilder의 Append는 원하는 수를 역순으.. 2024. 6. 3.
배열 만들기 3 (C#) 📌프로그래머스 181895💡풀이정수 배열을 b1 - a1 + b2 - a2 + 2의 크기로 만든다.전역변수 int index = 0을 선언총 for문을 2번 각 for문에서 a1 ~ b1, a2 ~ b2 까지 반복정수 배열 answer[index] = arr[i], index++public int[] 배열만들기3(int[] arr, int[,] intervals){ int a1 = intervals[0, 0]; int a2 = intervals[1, 0]; int b1 = intervals[0, 1]; int b2 = intervals[1, 1]; int[] answer = new int[b1 - a1 + b2 - a2 + 2]; int index = 0; for.. 2024. 6. 2.
간단한 식 계산하기 (C#) 📌프로그래머스 181865💡풀이새로운 문자열 배열에 binomial을 ' '을 기준으로 분할한 값을 할당문자열의 [0] [2]를 int.Parse문자열 [1]의 값에 따라 계산을 다르게public int 간단한식계산하기(string binomial){ string[] strings = binomial.Split(' '); int a = int.Parse(strings[0]); int b = int.Parse(strings[2]); switch (strings[1]) { case "+": return a + b; case "-": return a - b; case .. 2024. 6. 2.
특별한 이차원 배열 1 📌프로그래머스 181833💡풀이i == j 일 때 1 이라고 했으니 answer[i, i]에 1을 할당하면 된다. 즉 for문 한 번만 돌면 된다.public int[,] 특이한2차원배열1(int n){ int[,] answer = new int[n, n]; for (int i = 0; i 2024. 6. 2.
특별한 이차원 배열 2 (C#) 📌프로그래머스 181831💡풀이이중 for문을 돌며 arr[i][j] != arr[j][i] 일 때 0을 반환한다.빠져나오면 1을 반환public int 특이한2차원배열2(int[,] arr){ for(int i = 0; i 2024. 6. 2.
가까운 1 찾기 (C#) 📌프로그래머스 181898💡풀이idx 부터 arr.Length 까지 for문으로 순회arr[i] == 1 이면 i를 반환, for문을 빠져나오면 -1을 반환public int 가까운1찾기(int[] arr, int idx){ for(int i = idx; i 2024. 6. 2.