▶ 코테 준비/백준 문제풀이 11

[백준 4673번 자바] 셀프 넘버

▶문제출처 : https://www.acmicpc.net/problem/4673 4673번: 셀프 넘버 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때, www.acmicpc.net # 브루트포스 알고리즘 활용 public class Main { public static void main(String[] args) { boolean[] selfNum = new boolean[10001]; // false-셀프넘버 O, true-셀프넘버 X for(int i=1; i

[백준 1316번 자바] 그룹 단어체커

▶문제 출처 : https://www.acmicpc.net/problem/1316 1316번: 그룹 단어 체커 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때 www.acmicpc.net # 문자열 활용 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; /* 단어의 개수만큼 for문을 돌리며, checkStr()의 값이 true이면 count를 1씩 증가시킨다. checkStr() : 단어를 하나씩 쪼개서 비교함 - p..

[백준 1018번 자바] 체스판 다시 칠하기

▶문제 출처 : https://www.acmicpc.net/problem/1018 1018번: 체스판 다시 칠하기 첫째 줄에 N과 M이 주어진다. N과 M은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다. www.acmicpc.net # 브루트포스 알고리즘 활용 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; /* N행 M열의 배열에서 만들 수 있는 8*8 체스판의 개수는 (N-7)*(M-7)이다. 최악의 경우 칠해야 하는 정사..

[백준 1032번 자바] 명령 프롬프트

▶문제 출처 : https://www.acmicpc.net/problem/1032 1032번: 명령 프롬프트 첫째 줄에 파일 이름의 개수 N이 주어진다. 둘째 줄부터 N개의 줄에는 파일 이름이 주어진다. N은 50보다 작거나 같은 자연수이고 파일 이름의 길이는 모두 같고 길이는 최대 50이다. 파일이름은 www.acmicpc.net # 문자열 활용 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; /* 첫번째 줄을 입력받아 배열에 넣은 뒤 다음에 들어오는 입력과 첫번째를 비교하여 서로 다른 문자이면 '?'로 바꿈 마지막엔 toString으로 전체 출력! */ public class Main..

[백준 2839번 자바] 설탕 배달

▶문제출처 : https://www.acmicpc.net/problem/2839 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net # 다이나믹 프로그래밍, 그리디 알고리즘 활용 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static final int sugar1 = 5; public static final int sugar2 = 3; public sta..

[백준 1010번 자바] 다리 놓기

▶문제 출처 : https://www.acmicpc.net/problem/1010 1010번: 다리 놓기 입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트케이스에 대해 강의 서쪽과 동쪽에 있는 사이트의 개수 정수 N, M (0 < N ≤ M < 30)이 주어진다. www.acmicpc.net # 다이나믹 프로그래밍, 순열 활용 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; /* 조합을 이용해야 한다. nCr = n! / {(n-r)! * r!} 케이스 [1 3] → 3C1 = 3! / (2!..

[백준 1546번 자바] 평균

▶문제출처 : https://www.acmicpc.net/problem/1546 1546번: 평균 첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보 www.acmicpc.net # 단순 사칙연산 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Q05_1546 { /* 최고 성적을 기준으로 성적/최고성적*100으로 모두 변환한 뒤 평균을 구해야 함 for..

[백준 4949번 자바] 균형잡힌 세상

▶문제출처 : https://www.acmicpc.net/problem/4949 4949번: 균형잡힌 세상 하나 또는 여러줄에 걸쳐서 문자열이 주어진다. 각 문자열은 영문 알파벳, 공백, 소괄호("( )") 대괄호("[ ]")등으로 이루어져 있으며, 길이는 100글자보다 작거나 같다. 각 줄은 마침표(".")로 끝난다 www.acmicpc.net # 스택 활용 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Stack; class Main { public static void main(String[] args) throws IOException { Buffe..

[백준 11728번 자바] 배열 합치기

▶문제 출처 : https://www.acmicpc.net/problem/11728 11728번: 배열 합치기 첫째 줄에 배열 A의 크기 N, 배열 B의 크기 M이 주어진다. (1 ≤ N, M ≤ 1,000,000) 둘째 줄에는 배열 A의 내용이, 셋째 줄에는 배열 B의 내용이 주어진다. 배열에 들어있는 수는 절댓값이 109보다 작거 www.acmicpc.net # 배열 정렬 활용 import java.io.*; import java.util.Arrays; import java.util.StringTokenizer; class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedR..

[백준 9625번 자바] BABBA

▶문제 출처 : https://www.acmicpc.net/problem/9625 9625번: BABBA 상근이는 길을 걷다가 신기한 기계를 발견했다. 기계는 매우 매우 큰 화면과 버튼 하나로 이루어져 있다. 기계를 발견했을 때, 화면에는 A만 표시되어져 있었다. 버튼을 누르니 글자가 B로 변했 www.acmicpc.net # 다이나믹 프로그래밍(DP) 활용 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new..