코딩 테스트 27

[백준] 1145번: 적어도 대부분의 배수 (브론즈1, 브루트포스 알고리즘, JAVA)

문제 링크 : https://www.acmicpc.net/problem/1145 [백준] 1145번: 적어도 대부분의 배수 (브론즈1, 브루트포스 알고리즘, JAVA) 해당 문제는 입력받은 5개의 숫자 중, 3개 이상이 공통적으로 가지는 배수를 찾아내는 브루트포스(완전탐색) 문제 입니다. 우선 사용자로부터 입력받은 후 오름차순으로 정렬하고 최솟값을 가지는 0번 인덱스에서 부터 무한루프를 사용하여 탐색을 시작합니다. public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringBuil..

[백준] 1253번: 좋다 (골드4, JAVA)

문제 링크 : https://www.acmicpc.net/problem/1253 [백준] 1253번: 좋다 (골드4, JAVA) 우선 아래의 코드를 사용하여 사용자로부터 입력을 받고 배열로 변환 합니다. 단, 문제를 풀 때 수월하게 풀기 위해서 따로 원본 배열과 사본 배열을 생성하고 사본 배열을 오름차순 정렬하였습니다. BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringBuilder sb = new StringBuilder(); int N = Integer.parseInt(br.readLine()); String input = br.readLine(); sb.append(input); // 스트링 배열로 변환 S..

[백준] 2839, 10162번: 설탕 배달, 전자레인지(실버4, 브론즈3, JAVA)

문제 링크(2839) : https://www.acmicpc.net/problem/2839 문제 링크(10162) : https://www.acmicpc.net/problem/10162 [백준] 2839번: 설탕 배달 (실버4, JAVA) 봉지의 최수 개수(divide)를 선언하고 사용자의 입력(N)을 받은 후 dfs 메소드를 호출합니다. public class Main { int divide; public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); Main main = new Main(); main.dfs(N); } 문제에서 주어진 내용에서 중요한 부분은 `최대한 적은 봉지를 들고..

[백준] 2720번: 세탁소 사장 동혁 (브론즈3, JAVA)

문제 링크 : https://www.acmicpc.net/problem/2720 [백준] 2720번: 세탁소 사장 동혁 (브론즈3, JAVA) 아래의 코드는 dfs 메소드를 구현하기 전 입니다. 거스름돈을 몇개 받았는지 확인할 쿼터, 다임, 니켈, 페니의 인스턴스 변수를 생성하고, 사용자로부터 테스트 케이스 수(T)와 거스름돈(C)를 입력받고 dfs 메소드를 실행합니다. public class Main { int quarter; int dime; int nickel; int penny; public static void main(String[] args) { Scanner sc = new Scanner(System.in); int T = sc.nextInt(); Main main = new Main();..

[백준] 1026번: 보물 (실버4, JAVA)

문제 링크 : https://www.acmicpc.net/problem/1026 1026번: 보물 (실버4, JAVA) 해당 문제는 (낮은 A값) * (높음 B값) 을 반복하며 계산하면 S의 최솟값을 구할 수 있습니다. 다만 이 문제에서는 함정(?)이 있는데 B에 있는 수는 재배열을 하면 안된다고 적혀있지만, 채점기에서는 B의 수를 재배열 했는지 판단을 할수가 없어서 재배열하고 문제를 풀어도 통과됩니다(......) 반환할 변수 S를 선언 및 초기화 하고, 사용자로부터 숫자를 입력 받습니다. 단, 숫자를 입력 받을 때 공백을 기준으로 String 배열로 만든 후 int 배열로 변환 합니다. BufferedReader br = new BufferedReader(new InputStreamReader(Sys..

[프로그래머스] 문제 풀이할 때 사용한 메소드 정리 (계속 추가 예정)

[프로그래머스] 문제 풀이할 때 사용한 메소드 정리 (계속 추가 예정) new StringBuilder(new String("char배열")).reverse().toString(); → new String("char배열") : char배열을 참고하여 String 객체로 생성 → .reverse() : 문자열을 뒤집어주는 StringBuilder의 메소드 → toString() : String 타입으로 변환 → 활용한 문제 : https://school.programmers.co.kr/learn/courses/30/lessons/12933 (long)Math.sqrt(121); → 숫자 121의 제곱근을 구하는 메소드 (값 : 11) → 활용한 문제 : https://school.programmers.co..

[백준] 1075번: 나누기 (브론즈2, JAVA)

문제 링크 : https://www.acmicpc.net/problem/1075 [백준] 1075번: 나누기 (브론즈2, JAVA) 스캐너로 입력받아 정수 N은 nStr, 정수 F는 f 변수로 입력을 받은 후 입력받은 nStr의 값을 char 배열로 변경 합니다. 이후 변경된 char 배열을 가지고 가장 뒤에 있는 숫자 두개를 0으로 변경했습니다. Scanner sc = new Scanner(System.in); String nStr = sc.nextLine(); int f = sc.nextInt(); char[] arrCh = nStr.toCharArray(); arrCh[arrCh.length-1] = '0'; arrCh[arrCh.length-2] = '0'; 다음으로는 char 배열을 다시 int..

[백준] 15596번: 정수 N개의 합 (JAVA, 자바)

15596번: 정수 N개의 합 (JAVA, 자바) 해당 문제는 각 자기가 제출할 언어의 함수를 만들어 제출하면 됩니다. 제출을 누르고 언어를 Java로 선택하면 아래와 같이 기본적인 class의 틀이 만들어져 있습니다. class Test { public long sum(int[] a) { int ans = 0; return ans; } } 아래와 같이 기본적으로 만들어져있는 틀에서 a 배열의 값을 ans 변수에 모두 담아 리턴시켜주기면 하면 됩니다. class Test { public long sum(int[] a) { int ans = 0; for(int i=0; i

[백준] 4344번: 평균은 넘겠지 (JAVA, 자바)

4344번: 평균은 넘겠지 (JAVA, 자바) 대략적인 설명은 코드 블럭 안에 넣어 두었습니다. 해당 문제에서 조심해야할 것은 "평균을 넘는 학생들의 비율"에서 "넘는" 것이기 때문에 이상이 아닌, 초과로 계산하여야 합니다. import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int C = sc.nextInt(); // 테스트 케이스 수 입력받기 for(int i=0; i

[백준] 8958번: OX퀴즈 (JAVA, 자바)

8958번: OX퀴즈 (JAVA, 자바) 첫번째 줄에 테스트 케이스의 개수(N)을 입력받은 후 N개만큼의 OX 문자열을 입력 받습니다. 그 후 중첩 반복문을 통해 OK 문자열의 길이만큼 반복하여 첫 글자가 O일 경우 카운트를 추가시켜 연속된 숫자일 경우 +된 상태로 스코어와 함께 추가 해주고, X일 경우 연속되지 않으니 카운트를 초기화 시켜 다시 1점부터 시작하게 생성합니다. 그대로 반복하여 연속된 숫자일 경우 카운트에 의해 +1점씩 추가, X를 만날경우 카운트가 0이 되어 다시 1점부터 시작을 반복 합니다. import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanne..