코딩 테스트 맨텀 2023. 4. 14. 23:30
출처: 프로그래머스 코딩 테스트 연습 https://school.programmers.co.kr/learn/courses/30/lessons/181187 나의 풀이 public long solution(int r1, int r2) { long answer = 0; long rr1 = (long)r1 * (long)r1; long rr2 = (long)r2 * (long)r2; // 1사분면에 있는 r2 ~ r1 사이의 점들을 구한다. // 단, y == 0일때는 제외한다. 따라서 (x == r2) 도 제외. for(long x = 0; x = r1) { double y = Math.Sqrt(rr..
코딩 테스트 맨텀 2023. 4. 13. 22:09
출처: 프로그래머스 코딩 테스트 연습 https://school.programmers.co.kr/learn/courses/30/lessons/181188 나의 풀이 public int solution(int[,] targets) { var list = new List(); for(int i = 0; i o.Item1).ToList(); int answer = 0; int tail = int.MaxValue; foreach((int start, int end) point in list) { if(point.end < tail) { tai..
코딩 테스트 맨텀 2023. 4. 12. 23:51
출처: 프로그래머스 코딩 테스트 연습 https://school.programmers.co.kr/learn/courses/30/lessons/160585 나의 풀이 public int solution(string[] board) { int count_O = 0; int count_X = 0; for(int y = 0; y count_X + 1) return 0; // 후공은 선공보다 많을 수 없다. if(count_X > count_O)..
코딩 테스트 맨텀 2023. 4. 11. 22:23
출처: 프로그래머스 코딩 테스트 연습 https://school.programmers.co.kr/learn/courses/30/lessons/172927 나의 코드 public int solution(int[] picks, string[] minerals) { int[,] pickCost = new int[3, 3]{ {1, 1, 1}, {5, 1, 1}, {25, 5, 1} }; int[] mineralIndexs = new int[minerals.Length]; for(int i = 0; i < minerals.Length; ++i) { switch(minerals[i]) { case "diamond": mineralIndexs[i] = 0; break; case "iron": mineralIndex..
코딩 테스트 맨텀 2023. 4. 9. 18:42
출처: 프로그래머스 코딩 테스트 연습 https://school.programmers.co.kr/learn/courses/30/lessons/134239 나의 풀이 public double[] solution(int k, int[,] ranges) { var dots = new List(); dots.Add((0, k)); int i = 1; while(k > 1) { if(k % 2 == 0) k = k / 2; else k = k * 3 + 1; dots.Add((i, k)); ++i; } var answer = new double[ranges.GetLength(0)]; for(int j = 0; j < ranges.GetLength(0); ++j) { int left = ranges[j, 0]; i..
코딩 테스트 맨텀 2023. 4. 8. 11:40
출처: 프로그래머스 코딩 테스트 연습 https://school.programmers.co.kr/learn/courses/30/lessons/178871 나의 풀이 public string[] solution(string[] players, string[] callings) { var dict = players.Select((s, i) => new{name = s, index = i}) .ToDictionary(d => d.name, d => d.index); foreach(string call in callings) { int rank = dict[call]; // 추월하려는 사람의 순위 string overtaken = players[rank - 1]; // 추월당한 사람의 이름 players[ran..