본문 바로가기
[백준] 25314번 자바 코딩은 체육과목 입니다 - 반복문 4의 배수를 입력하고 그 배수만큼 long을 출력해 주면 된다. 예를 들어 100을 입력하면 4 * 20 = 100 이므로 long을 20개 출력해 주면 끝이다. import java.util.Scanner; public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int div = n / 4; for(int i=0; i 2023. 5. 22.
[백준] 11382번 자바 꼬마 정민 - 입출력과 사칙연산 import java.util.Scanner; public class Main{ public static void main(String args[]){ Scanner sc = new Scanner(System.in); long a = sc.nextLong(); long b = sc.nextLong(); long c = sc.nextLong(); System.out.println(a+b+c); } } 입력값의 크기 때문에 자료형은 long으로 해야 한다. int는 4byte 이고 값의 범위는 –2,147,483,648 ~ 2,147,483,647 (-2^31 ~ 2^31) long은 8byte 이고 값의 범위는 -9,223,372,036,854,775,808 ~ 9,223,372,036,8(-2^63 ~ .. 2023. 5. 19.
[백준] 5597번 자바 과제 안 내신 분...? - 1차원 배열 입력이 오지게 많네.. 귀찮지만 내가 입력할 건 아니라서 간단한 문제이다. 그냥 바로 머리속에 생각나는 건 1~30 bool 타입 배열을 선언한 후 28개를 입력하면서 해당 배열 위치를 true로 바꿔주고 나머지를 출력해주면 되겠다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 import java.util.Scanner; public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); boolean stuChk[] = new boolean[31]; for(int i=0; i 2022. 11. 8.
[백준] 25305번 자바 커트라인 - 정렬 import java.util.Arrays; import java.util.Collections; import java.util.Scanner; public class Main{ public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int k = sc.nextInt(); Integer ar[] = new Integer[n]; for(int i=0; i 2022. 10. 5.
[백준] 2751번 자바 수 정렬하기 2 - 정렬 정렬 자체는 어렵지 않은데 시간 복잡도가 O(nlogn)여야 해서 그냥 일반 버블정렬이나 Array.sort 함수로는 시간초과로 실패가 된다. 병합 정렬, 힙 정렬 로 풀 수 있다고 한다. 하지만 그대로 구현하게 되면 많이 복잡하므로 자바에 내장된 Collections.sort 함수를 사용하자. 병합정렬이라고 한다. Arrays.sort함수는 시간초과로 실패가 떴다. 그리고 Scaaner 대신 BufferedReader 사용, System.out.print 대신 BufferedWriter을 사용했다. import java.io.*; import java.util.*; //정렬 N개의 수가 주어졌을 때 오름차순으로 정렬 public class Main{ public static void main(Strin.. 2022. 10. 3.
[백준] 25304번 자바 영수증 - 반복문 총 금액을 입력받고 각각 구매한 물건의 가격과 개수를 입력받는다. 금액이 일치하면 yes 아니면 no를 출력 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 import java.util.Scanner; public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); int price, count; price = sc.nextInt(); // 총 금액 count = sc.nextInt(); // 구매한 물건 종류 개수 int product[][] = new int[count][2]; //[0] 상품가격 [1] 상품개수 .. 2022. 8. 16.
[백준] 2480번 자바 주사위 세개 - 조건문 간단하다. 문제에 수식을 그대로 가져다 쓰면 된다. 1. 입력값 세개가 같으면 10000 + 같은 값 * 1000 2. 두개가 같으면 1000 + 같은 값 * 100 3. 다 다르면 가장 큰 값 * 100 이대로 출력하면 된다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 import java.util.Scanner; public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); int a, b, c; a = sc.nextInt(); b = sc.nextInt(); c = sc.nextInt(); if(a == b &&.. 2022. 8. 14.
[백준] 2525번 자바 오븐 시계 - 조건문 첫 번째 줄에 입력으로 시간을 적는다 (24시 표기 법으로) 두번 째 줄에는 요리하는데 필요한 시간이 분으로 입력된다. 즉 출력은 첫 줄에 시간 + 두번째 줄에 분이다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 import java.util.Scanner; public class test{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); int h, m, mm; h = sc.nextInt(); m = sc.nextInt(); mm = sc.nextInt(); h += mm / 60; // 요리시간이 60분 이상이면 넘는 만큼 h에.. 2022. 8. 14.
[백준] 25083번 자바 새싹 [입출력과 사칙연산] 똑같은 모양으로 출력하면 되는 문제인데 공백개수를 세긴 귀찮다. 그리고 이 문제는 \ 이 역슬래쉬랑 " 이 쌍따옴표를 문자열 안에서 어떻게 표현하는가 문제이다. 백준에 있는 저 예제 출력에 있는 문자를 그대로 긁어서 eclipse "" 안에 붙여 넣으면 바로 표현이 된다. 문자열 안에 " 는 \" 로 입력하고 \는 \\ 로 앞에 하나 더 넣어서 출력하면 된다. c나 자바에서 출력을 배울때 나오는 내용이다. 1 2 3 4 5 6 7 8 9 10 11 public class Main{ public static void main(String[] args){ System.out.println(" ,r'\"7"); System.out.println("r`-_ ,' ,/"); System.out.println(" .. 2022. 8. 14.
백준 3003번 자바 킹, 퀸, 룩, 비숍, 나이트, 폰 [입출력과 사칙연산] 체스는 순서대로 1 1 2 2 2 8 총 여섯개의 수가 있다. 여섯개의 수를 사용자가 차례대로 입력했을 때 몇 개가 부족한지 혹은 더 많은지 출력해주면 된다. 즉 입력값 + 출력값 = 1 1 2 2 2 8 이 되면 된다. 그래서 1 1 2 2 2 8 - 입력값을 출력하면 된다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 import java.util.Scanner; //1 1 2 2 2 8 public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); int comp[] = {1, 1, 2, 2, 2, 8}; int input[] = new int[6]; for(int i=0.. 2022. 8. 14.
백준 18108번 자바 1998년생인 내가 태국에서는 2541년생?! [입출력과 사칙연산] 현재 우리가 세는 익숙한 연도를 서기 연도라고 하는데 불기 연도를 입력받으면 서기 연도를 출력한다. 문제와 입출력에 답이 있어 보인다. 2541이 불기 연도 1998이 서기 연도 이다. 그러면 둘의 차이를 구하고 (543) 입력이 불기연도 이므로 (1000 2022. 8. 12.
백준 10926번 자바 ??! [입출력과 사칙연산] 얼핏 보면 이미 존재하는 아이디와 비교해서 ??!를 붙이는 것처럼 나와있으나 그냥 입력된 문자열 자체가 이미 존재한다 가정하고 입력받은 문자열 뒤에 ??!를 붙여서 출력하면 되는 간단한 문제다. 1 2 3 4 5 6 7 8 9 10 import java.util.Scanner; public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); String str = sc.nextLine(); System.out.println(str + "??!"); } } Colored by Color Scripter cs 7행에서 문자열을 입력받고 (아이디) 8행에 출력문에서 ??!를 붙여서 출력해주면 된다. 2022. 8. 8.
백준 7568번 자바 덩치 [부루트 포스] 첫 줄에 몇명을 비교할 건지 n을 입력하고 두번째 줄부터 몸무게와 키를 입력한다. 비교를 할 때 몸무게 키 둘 다 큰 값이 있는 경우 덩치가 크다고 한다. 덩치 순위를 출력하면 된다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 import java.util.Arrays; import java.util.Scanner; public class Main { public static void main(String[] args) { //baekjoon_7568 덩치 브루트 포스 Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int peo[.. 2021. 10. 12.
백준 2231번 JAVA 분해합 [브루트 포스] 자연수 N을 입력하면 N의 가장 작은 생성자를 구해야 한다. 245의 분해합은 245 + 2 + 4 + 5 = 256이다. 245 그 자체의 수와 각 자릿수를 더한다. 256의 분해합은 245가 된다. N으로 256을 입력하면 245가 출력되어야 한다. 256의 생성자는 245이다. 생성자는 있을수도 없을수도 있고 없으면 0을 출력한다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.n.. 2021. 8. 18.
백준 2798번 JAVA 자바 블랙잭 [브루트 포스] 카드의 개수 N (3 2021. 8. 17.
백준 11729번 java 하노이 탑 이동 순서 [재귀] 하노이 탑 재귀 문제에서도 뭔가 이해가 잘 안되고 어렵다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 import java.util.Scanner; public class Main{ //baekjoon 11729번 하노이탑 static void hanoiMove(int n, int from, int by, int to) { if(n == 1) { System.out.println(from + " " + to); } else { hanoiMove(n-1, from, to, by); System.out.println(from + " " + to); hanoiMove(n-1, by, fr.. 2021. 8. 16.
백준 1002번 자바 터렛 [기본수학2] x1, y1 좌표를 입력하고 류재명과의 거리 r1 마찬가지로 x2, y2, r2를 입력한다. 류재명이 있을 수 있는 위치의 개수를 출력하는 프로그램이다. x1, y1 좌표에서 r1을 반지름으로 원을 그리고 x2, y2에서 r2로 원을 그리고 두 원이 만나는 점이 류재명이 있을 수 있는 위치이다. 경우의 수를 살펴보면 네 가지가 있다. 두 원이 아예 만나지 않는 경우 (두 점 사이의 거리보다 r1+r2값이 작은경우, r1, r2의 차이가 거리보다 큰 경우) 한 점이 만나는 경우 (r1+r2가 거리랑 일치하는 경우, r1, r2의 차이가 거리랑 같은 경우) 무한대인 경우 (다 같은 값인 경우) 두 점이 만나는 경우 (앞에 조건을 다 넣고 이거는 else로 편하게 ㅎ) 1 2 3 4 5 6 7 8 9 10 1.. 2021. 5. 20.
백준 3053번 자바 택시 기하학 [기본수학2] 원의 넓이를 유클리드 기하학과 택시 기하학 두 가지 구하라는 문제다. 유클리드 기하학의 원의 넓이는 그 유명한 파이알의제곱 PI*r^2 이다. 택시 기하학에서의 두 점 사이의 거리는 바둑판 같은 좌표 평면에서의 거리를 의미한다. 즉 반지름이 2라면 파란점 기준에서 빨간점까지의 거리가 택시기하학상 원의 반지름인 것이다. 검은선이 반지름이고 그것을 계속 찍다 보면 오른쪽그림처럼 마름모꼴 정사각형이 된다. 저 마름모의 넒이를 구하면 되는데 우리에게 주어진것은 r의 길이 => 이등변삼각형을 구하고 * 2 를 하면 된다. 이등변 삼각형은 밑변의 절반 * 높이를 하면 되고 거기에 2를 곱하면 마름모의 넓이가 된다. => r * r 2 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 .. 2021. 5. 12.