목록Data Structure & Algorithm/PS - JAVA (270)
Dev.baelanche
위 그림처럼 가운데 교차점이 일치하지 않는 다각형의 꼭지점 개수를 구했을때 다각형의 대각선 + 외곽선의 개수와 같다. 다각형에서 대각선이 존재하려면 꼭지점이 최소 4개 이어야 하므로 이 식을 사용하여 푼다. n = 4 일때는 몫이 1로 예외가 되니 그냥 풀어서 쓴다. public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); System.out.println((n * (n-1) * (n-2) * (n-3)) / 24); } }
주어진 닭의 수 m 에서 2를 곱하면 닭의 다리가 모두 있을때의 개수가 나온다. m*2 - n(다리의 수) 를 하면 다리가 하나인 닭의 수이고 나머지가 멀쩡한 닭의 수 이다. public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int t = sc.nextInt(); while(t-->0) { int n = sc.nextInt(); int m = sc.nextInt(); int x = m*2 - n; System.out.println(x + " " + (m-x)); } } }
아이들에게는 k 만큼 반드시 주어야 하므로 사탕 개수 / k 를 카운트하면 된다. public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int t = sc.nextInt(); while(t-->0) { int n = sc.nextInt(); int k = sc.nextInt(); int cnt = 0; while(n-->0) { int a = sc.nextInt(); cnt += a/k; } System.out.println(cnt); } } }
캥거루가 최대로 움직일 수 있는 경우는 다음과 같다. 1. B-A / C-B 중 차이가 큰 쪽으로 차이가 작은쪽 수가 점프한다. (3, 5, 9 이면 5와 9의 차이가 더 크므로 3이 점프) 2. A 가 점프했다면 B 혹은 C 의 가장 가까이 점프한다. 3. B 쪽으로 점프했다면 B가 또 옆으로 점프하고 C 쪽이면 C가 옆으로 점프한다. 4. 3을 반복하다가 세 수가 나란히 붙으면 정지한다. 위 방법의 수를 세어보면 B-A / C-B 중 큰 수 - 1 과 같다. public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int a = sc.nextInt(); int b = sc.nextIn..
도미노 위, 아래에 찍힌 점의 패턴을 살펴보면 (0, 0), (0, 1), (0, 2), (1, 1), (1, 2), (2. 2) 이다. 변수 i, j 로 둘때 j 가 n 까지 순회하고 i 가 n 까지 오르는 이중 반복문인것을 유추할 수 있다. public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int sum = 0; for(int i=0; i
우리가 구해야 하는 것은 면의 수 이고 주어진 식을 활용하면 된다. 면의 수가 x 일때 v - e + x = 2 x = e - v + 2 이다. public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int t = sc.nextInt(); while(t-->0) { int v = sc.nextInt(); int e = sc.nextInt(); System.out.println(2 - v + e); } } }
문제에 기재되어 있는 (멜로디 개수 / 앨범 곡 개수) = 평균값(반올림) 을 거꾸로 해주면된다. public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int a = sc.nextInt(); int i = sc.nextInt(); System.out.println((a * (i-1)) + 1); } } 머리 쉬려고 풀었다..ㅎㅎ