본문 바로가기
[백준] 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.
백준 2447번 JAVA 별 찍기 - 10 [재귀] 까다로워 보인다. 3의 거듭제곱을 적고 그 적은 N만큼 N*N 행렬을 그린다. 3*3 사이에는 공백을 집어넣고 그 3*3행렬이 또 1이 되어 세 개가 모이면 (9*9가 되면) 가운데 3*3행렬은 공백이 된다. 다음 제곱인 27도 마찬가지 패턴으로 채워 넣으면 위와 같이 출력이 된다. 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 35 36 37 38 import java.util.Arrays; import java.util.Scanner; public class Main{ //baekjoon 2447번 별 찍기 - 10 재귀 public static char[][] arr; public.. 2021. 8. 2.
백준 10870번 자바 피보나치 수 5 [재귀] n을 입력한다. 피보나치 수열에서 n번째 수는 몇 인지 출력하는 프로그램이다. Fn = Fn-1 + Fn-2 이렇게 공식도 친절히 나와있다. 즉 5번째 수는 4번째 + 3번째 라는 의미이다. 그럼 4번째 수와 3번째 수를 알아야 한다. 4번째는 3번째 +2번째 이며 2번째는 0번째 + 1번째이다. 0번째는 0이고 1번째는 1이다. 이렇게 n을 입력하고 -1, -2 쭉쭉해서 0번째와 1번째에서 0과 1을 리턴하면서 더하고 더하고 더해서 최종 리턴하면 n번째 피보나치 수를 구할 수 있다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 import java.util.Scanner; public class Main{ public static void .. 2021. 6. 6.