본문 바로가기

algorithm

(17)
백준 1018 - 체스판 다시 칠하기 import java.io.*; import java.util.StringTokenizer; public class Main { static boolean colors[][]; // 백준 1018 - 체스판 다시 칠하기 public static void main(String[] args) throws IOException { BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer tokenizer = new StringTokenizer(bufferedReader.readLine()); int row = strToInt(tokenizer.nextToken()), column = s..
백준 2231 - 분해합 import java.util.Scanner; public class Main { // 백준 2231 분해합 - 완전탐색 public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int nunmber = scanner.nextInt(); System.out.println(findGenerator(nunmber)); } public static int findGenerator(int number) { // 1에서부터 분해합을 찾아나간다. for(int i = 1; i 0) { digitSum += n % ..
백준 2798 - 블랙잭 import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int cardsCount = scanner.nextInt(), targetNumber = scanner.nextInt(); List cards = new ArrayList(cardsCount); for(int i = 0; i < cardsCount; i++) cards.add(scanner.nextInt()); System.out.println(findClosestNumber(targe..
백준 1065 - 한수 import java.util.Arrays; import java.util.Scanner; import static java.lang.Integer.parseInt; public class Main { public static void main(String[] args) { // 백준 1065 한수 - 완전탐색 Scanner scanner = new Scanner(System.in); int count = findNumber(scanner.nextInt()); System.out.println(count); } public static int findNumber(int num) { // 99이하의 숫자는 반드시 한수이므로 num 중 99이하인 수를 기본 count로 설정 int count = num >=..
카펫 programmers.co.kr/learn/courses/30/lessons/42842 코딩테스트 연습 - 카펫 Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다. Leo는 집으로 돌아와서 아까 본 카펫의 노란색과 programmers.co.kr 풀이 class Solution { public int[] solution(int brown, int yellow) { int tiles = brown + yellow; int[] answer = new int[2]; for(int h = 3; h < brown; h++) { int w = tiles / h; if(yellow == (h - 2) * (w - 2)) { a..
소수 찾기 programmers.co.kr/learn/courses/30/lessons/42839 코딩테스트 연습 - 소수 찾기 한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다. 각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 programmers.co.kr 풀이 import java.util.*; class Solution { Set set = new HashSet(); public int solution(String numbers) { repeat("", numbers); return set.size(); } public void repeat(String s, String numbers) { for(int i =..
H-Index programmers.co.kr/learn/courses/30/lessons/42747 코딩테스트 연습 - H-Index H-Index는 과학자의 생산성과 영향력을 나타내는 지표입니다. 어느 과학자의 H-Index를 나타내는 값인 h를 구하려고 합니다. 위키백과1에 따르면, H-Index는 다음과 같이 구합니다. 어떤 과학자가 발표 programmers.co.kr 풀이 import java.util.Arrays; import java.util.Collections; import java.util.List; import java.util.stream.Collectors; class Solution { public int solution(int[] citations) { int size = citations..
가장 큰 수 programmers.co.kr/learn/courses/30/lessons/42746 코딩테스트 연습 - 가장 큰 수 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 programmers.co.kr 오늘 푼 문제는 '가장 큰 수'라는 문제였다. 풀이 import java.util.Arrays; import java.util.Collections; import java.util.Comparator; import java.util.List; import java.util.stream.Collectors; pub..