728x90
반응형

분류 전체보기 221

[프로그래머스 힌트/답/해석] 자릿수 더하기

힌트 더보기 자연수 1234가 있을 때 1+2+3+4를 더해주면 된다 반복문으로 i=0일 때 10*i를 통해 각 숫자를 나눈 값을 더하거나 자연수 1234를 string으로 바꾼 뒤 각 수를 int로 재변환하여 더해주면 된다 정답 더보기 return n.ToString().Sum(x => Int32.Parse(x.ToString())); 해석 더보기 n.ToString() 자연수 n을 string으로 바꾼다 return n.ToString().Sum(x => Int32.Parse(x.ToString())); 바꾼 후 char[]를 각각 int32.Parse를 통해 int화 해준 후 그 값들을 모두 더해준다

C# 2024.01.29

[프로그래머스 힌트/답/해석] 제곱수 판별

힌트 더보기 제곱수의 제곱근을 구하면 된다 16의 제곱근 4 math.pow 혹은 math.sqrt를 사용 정답 더보기 return Math.Sqrt(n) % 1 == 0 ? 1 : 2; return Math.Pow(n,.5f)%1==0? 1 : 2; 해석 더보기 return Math.Sqrt(n) % 1 == 0 ? 1 : 2; Math.Sqrt(n)으로 n의 제곱근을 구하고 1로 나누었을 때 나머지가 0이 아니면 n은 제곱수가 아니므로 2를 리턴 return Math.Pow(n,.5f)%1==0? 1 : 2; pow 를 활용한 방식이다 .5 = 1/2 4 = 2^2 sqrt(4) = (4) ^½ pow(4,.5) = 4^½

C# 2024.01.29

[프로그래머스 힌트/답/해석] 순서쌍의 개수

힌트 더보기 숫자 a와 숫자 b의 곱이 n이 되는 순서쌍의 개수를 반환하면 된다 n = 4 일 때 (1, 4), (2,2), (4,1) 이므로 3을 리턴 n = 5 일 때 (1,5), (5,1) 이므로 2를 리턴 n = 6 일 때 (1,6), (2,3),(3,2),(6,1) 이므로 4를 리턴 n = x 일 때 x를 나누어 나머지가 0이 되는 자연수의 수를 반환한다. 정답 더보기 return Enumerable.Range(1, n).Count(x => n % x == 0); return Enumerable.Range(1,n).Where(x =>n%x==0).ToArray().Length; 해석 더보기 Enumerable.Range(1, n) 1부터 n까지의 자연수를 저장한다 return Enumerable..

C# 2024.01.29

[프로그래머스 힌트/답/해석] 최댓값 만들기 1

힌트 더보기 int 배열 내의 숫자로 만들 수 있는 가장 큰 값을 리턴하면 된다 배열 내에 가장 큰 숫자 두 개를 찾거나 내림차순(큰 순서대로) 나열한 후 index 0과 1을 곱해주면 최댓값이 된다 정답 더보기 numbers = numbers.OrderByDescending(x => x).ToArray(); return numbers.First() * numbers.Skip(1).First(); 해석 더보기 numbers.OrderByDescending(x => x).ToArray(); numbers 배열을 OderByDescending(내림차순)으로 재정렬한 후 return numbers.First() * numbers.Skip(1).First(); 첫 번째와 두 번째 수를 곱한 값을 리턴해준다 re..

C# 2024.01.29

[프로그래머스 힌트/답/해석] 점의 위치 구하기

힌트 더보기 x 좌표와 y 좌표가 모두 양수이면 제1사분면에 속합니다. x 좌표가 음수, y 좌표가 양수이면 제2사분면에 속합니다. x 좌표와 y 좌표가 모두 음수이면 제3사분면에 속합니다. x 좌표가 양수, y 좌표가 음수이면 제4사분면에 속합니다. 정답 더보기 if (dot[0] > 0) { if (dot[1] > 0) return 1; else return 4; } else { if (dot[1] > 0) return 2; else return 3; } 해석 더보기 위의 힌트의 내용을 단순 수식화 한 것 dot[0]은 x의 값, dot[1]은 y의 값

C# 2024.01.29

[프로그래머스 힌트/답/해석] 피자 나누기2

힌트 더보기 피자를 한 판에 6조각씩 나오며 모두 같은 개수를 먹어야 한다 피자를 남기지 않아야 한다(잔반 안됨) 예시) -6명이면 한 판(6 조각)을 시키면 1조각씩 남김 없이 먹을 수 있다 -8명이면 네 판(24 조각)을 시키면 3조각씩 남김 없이 먹을 수 있다 - (x*n)%6==0 (피자 판 수 * 명 수)를 6으로 나누었을 때 나머지가 0이어야 한다 정답 더보기 LInq를 사용 var divideArray = Enumerable.Range(1, 9).Select(x => x * n); return divideArray.Where(x => x % 6 == 0).Min() / 6; 재귀함수를 사용 public int solution(int n) { int answer = n / gcd(n, 6); ..

C# 2024.01.29
728x90
반응형