본문 바로가기
반응형

백준24

백준 2292번 벌집 자바 java 문제 풀이 1 -> 1 2 -> 2 ~ 7 (6) 3 -> 8 ~ 19 (12) 4 -> 20 ~ 37 (18) 5 -> 38 ~ 61 (24) 해당 영역의 벌집 개수가 6씩 늘어나는 규칙을 찾을 수 있다 영역의 시작 값과 마지막 값을 계속 더하면서 찾으려는 N값에 범위까지 도달하면 출력하게끔 해서 해결하였다 코드 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int start = 2; int end = 7; int plus = 6; int count = 2; int N = sc.nextInt(); if (N == 1) { Syst.. 2021. 4. 8.
백준 10250번 ACM 호텔 자바 java 문제 풀이 6층 12호 10번째 손님일 경우엔 101(1) -> 201(2) -> 301(3) -> 401(4) -> 501(5) -> 601(6) -> 102(7) -> 202(8) -> 302(9) -> 402(10) 순서대로 배정이 됨으로 2중 for문으로 순서를 계산하여 해결을 하였다 코드 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int T = sc.nextInt(); int[] H = new int[T]; int[] W = new int[T]; int[] N = new int[T]; for (int i = 0; i <.. 2021. 4. 7.
백준 2775번 부녀회장이 될테야 자바 java 문제 풀이 처음에는 수학공식처럼 수식이 있을 것 같아서 패턴을 찾으려고 이리저리 찾아보다가 못 찾아서 0~14층 1 ~ 14호의 모든 값을 계산해서 찾아내는 것으로 해결을 하였다 2차원배열을 만들고 0층에는 1씩 늘어나는 값을 입력 1호에는 1 입력 2호에는 1씩 늘어나는 값을 입력 나머지 거주민 수를 계산하는 방법 1층 3호 = 0층 3호 + 1층 2호 apt[i][j] = apt[i - 1][j] + apt[i][j - 1]; 코드 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int T = sc.nextInt(); int[] .. 2021. 4. 7.
백준 1193번 분수찾기 자바 java 문제 풀이 처음에 문제를 보았을 땐 지그재그 순서를 이해를 못했다 2/1 -> 3/1 으로 왜 이쪽으로 이동을 하지? 라는 생각에 시간을 많이 소비했다 대각선으로 ↙ (빨간선) 이동하는 것을 보면 1/2 -> 2/1, 1/4 -> 2/3 -> 3/2 -> 4/1 i / j 이면 i + 1 / j - 1로 값이 변경이 된다 대각선으로 ↗ (파란선) 이동하는 것을 보면 3/1 -> 2/2 -> 1/3, 5/1 -> 4/2 -> 3/3 -> 2/4 -> 1/5 i / j 이면 i - 1 / j + 1 로 값이 변경이 된다 → 우측으로 이동하는 경우 (빨간선)는 ↗ 방향으로 이동이 안될 때 i / j 이면 i의 값이 0이 된다면 우측으로 이동하게 처리 ↓ 아래로 이동하는 경우 (파란선)는 ↙ 방향으로 이동이 안.. 2021. 4. 6.
백준 1546번 문제 c언어 문제 풀이 새로운 평균을 구하기 위해 필요한 것들이 1. 점수 중에 최대값을 구하는 것 2. 소수점까지 표시하기 때문에 평균을 구하는 변수에는 int형 대신 float형을 사용한다 점수들 중 최대값을 찾아서 max 변수 값에 넣고 각각의 점수에 새로운 평균값 계산을 한다 새로운 평균의 합 = (점수 / 최대값 * 100) 새로운 평균 = 새로운 평균의 합 / 과목의 개수 코드 #include int main() { int N; int max = 0; float avg = 0; scanf("%d", &N); int score[N]; for (int i = 0; i < N; i++) { scanf("%d", &score[i]); if (max < score[i]) { max = score[i]; } } fo.. 2021. 3. 31.
백준 11653 문제 자바 java 문제 www.acmicpc.net/problem/11653 풀이 입력받은 N값을 2부터 시작해서 나눠지지 않는다면 나누는 값을 1 증가시킵니다 N값이 1이 될 때까지 나누는 것을 실행하고 출력을 합니다 코드 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int divideNum = 2; StringBuilder sb = new StringBuilder(); while (N != 1) { if (N % divideNum == 0) { N /= divideNum; sb.append(divideNu.. 2021. 2. 15.
반응형