코딩 테스트 맨텀 2023. 3. 31. 14:14
출처: 프로그래머스 코딩 테스트 연습 https://school.programmers.co.kr/learn/courses/30/lessons/135807 나의 풀이 public int solution(int[] arrayA, int[] arrayB) { int a = GetMaxValue(arrayA, arrayB); int b = GetMaxValue(arrayB, arrayA); return a > b ? a : b; } private int GetMaxValue(int[] my, int[] other) { int n = my[0]; foreach(int num in my) n = GCD(n, num); foreach(int num in other) { if(num % n == 0) return 0;..
코딩 테스트 맨텀 2023. 3. 30. 13:22
출처: 프로그래머스 코딩 테스트 연습 https://school.programmers.co.kr/learn/courses/30/lessons/155651 나의 풀이 public int solution(string[,] book_time) { // 시간을 숫자로 변환한다음 정렬 var timeList = new List(); for(int i = 0; i < book_time.GetLength(0); ++i) { int inTime = TimeStrToNum(book_time[i, 0]); int outTime = TimeStrToNum(book_time[i, 1]); timeList.Add((inTime, outTime)); } // 정렬된 입실 시간을 하나씩 꺼내면서 방이 비어있으면 넣고, 없으면 만듦..
코딩 테스트 맨텀 2023. 3. 29. 14:38
출처: 프로그래머스 코딩 테스트 연습 https://school.programmers.co.kr/learn/courses/30/lessons/148653 나의 풀이 public int solution(int storey) { int minValue = int.MaxValue; string str = storey.ToString(); DFS(str, str.Length - 1, 0, 0, ref minValue); return minValue; } private void DFS(string str, int i, int count, int reversed, ref int minValue) { if(i == -1) // 탐색 완료 { count += reversed; minValue = count < minV..
코딩 테스트 맨텀 2023. 3. 28. 20:03
출처: 프로그래머스 코딩 테스트 연습 https://school.programmers.co.kr/learn/courses/30/lessons/12946 나의 풀이 public int[,] solution(int n) { var list = new List(); Hanoi(list, n, 1, 3, 2); int[,] answer = new int[list.Count, 2]; for(int i = 0; i < list.Count; ++i) { answer[i, 0] = list[i].Item1; answer[i, 1] = list[i].Item2; } return answer; } private void Hanoi(List list, int n, int start, int end, int sub) { if..
코딩 테스트 맨텀 2023. 3. 27. 20:39
출처: 프로그래머스 코딩 테스트 연습 https://school.programmers.co.kr/learn/courses/30/lessons/154540 나의 코드 public int[] solution(string[] maps) { int width = maps[0].Length; int height = maps.Length; var answer = new List(); var closed = new HashSet(); for(int iy = 0; iy < height; ++iy) { for(int ix = 0; ix < width; ++ix) { (int y, int x) cur = (iy, ix); if(maps[iy][ix] == 'X') { closed.Add(cur); continue; } i..
코딩 테스트 맨텀 2023. 3. 26. 13:51
출처: 프로그래머스 코딩 테스트 연습 https://school.programmers.co.kr/learn/courses/30/lessons/140107 1차 시도 public long solution(int k, int d) { long answer = 0; long dd = d * d; long kk = k * k; for(long a = 0; a * k