
파이썬 풀이 def solution(dot): answer = 0 if dot[0]>0: if dot[1]>0: return 1 else: return 4 elif dot[0]0: return 2 else: return 3 return answer 자바 풀이 class Solution { public int solution(int[] dot) { int answer = (dot[0]>0) ? ((dot[1]>0) ? 1 : 4) : ((dot[1]>0) ? 2 : 3); return answer; } } 파이썬으로 먼저 if문으로 풀이를 한 후 자바로 풀었는데, 삼항연산자로 풀어볼까 ...? 싶어서 해보았습니다

파이썬 풀이 def solution(n, numlist): answer = [] for i in range(len(numlist)): if numlist[i] % n == 0: answer.append(numlist[i]) else: pass return answer 자바 풀이 import java.util.Arrays; import java.util.stream.IntStream; class Solution { public int[] solution(int n, int[] numlist) { IntStream intstream = Arrays.stream(numlist); int [] answer = intstream.filter(item -> item%n == 0).toArray(); return a..

피자 한판에 6조각 n명이 주문한 피자를 남기지 않고 모두 같은 수의 피자 조각을 먹어야 하기 때문에 최소공배수를 구하는것을 응용하면 되는 것 같았다. 그러니까, 10명이 모두 같은 양의 피자를 먹기 위해서는 10명 과 6조각의 최소공배수인 30 조각의 피자가 필요하다. 30조각의 피자를 6으로 나누어 피자 다섯판이 필요하다고 출력되야 하는 것이다. 4명이 같은 양의 피자를 먹기위해서는 4와 (4명) 6의 (6조각) 최소공배수인 12조각이 필요하다. 12조각은 피자 2판이므로 2판이 출력되어야 한다. 필요한 피자판은 while문을 사용해서 구한다. 쉽게 풀어 써보자면 4명이 같은 양의 피자를 먹어야 할때를 예시로 들겠다. 첫번째 턴) pizza = 1; pizza * 6 = 6 , 6 % 4 로 나눔 0..

파이썬 풀이 def solution(n): answer = 0 if n > 7: if n % 7 ==0: answer = int(n/7) else: answer = int(n/7)+1 else: answer=1 return answer 자바 풀이 class Solution { public int solution(int n) { int answer = 0; if(n>7){ if((n%7)==0){ answer = n/7; } else{ answer = (n/7)+1; } } else{ answer = 1; } return answer; } }

순서쌍의 개수를 구하라고 했는데, 입출력 예를 보면 주어진 n값의 약수들이 순서쌍이 되는 것을 확인 할 수 있습니다. 20 이면 약수가 1,2,4,5,10,20 인데 약수들이 조합되어서 순서쌍이 되는것이니깐,,,, 약수의 개수 = 순서쌍의 개수 n을 1부터 n까지 나누었을때 나머지가 0인 수가 있을때마다 +1 해서 개수만 구하면 됩니다. 파이썬 풀이 def solution(n): answer = 0 for i in range(1,n+1): if n % i ==0: answer = answer+1 return answer 자바 풀이 class Solution { public int solution(int n) { int answer = 0; for(int i=1; i

파이썬 풀이 def solution(numbers, num1, num2): answer=numbers[num1:num2+1] return answer answer 에 numbers 배열의 슬라이싱을 바로 해준다. [시작지점:종료지점] 이므로 종료지점의 값을 포함해서 가져오기 위해 num2에 +1 을 해주었다. 자바 풀이 class Solution { public int[] solution(int[] numbers, int num1, int num2) { int length = num2-num1+1; int [] answer = new int[length]; System.arraycopy(numbers, num1, answer,0,length); return answer; } } System의 arrayc..

파이썬 풀이 def solution(sides): a = max(sides) # 가장 긴 변의 길이 b = sum(sides)-max(sides) if a >= b: return 2 else: return 1 자바 풀이 class Solution { public int solution(int[] sides) { int max =0; int sum=0; for (int i : sides){ max = Math.max(max,i); sum += i; } if (max >= (sum-max)){ return 2; } else{ return 1; } } }