Java/Problem Solving

    BOJ 1316번 - 그룹 단어 체커

    https://www.acmicpc.net/problem/1316 1316번: 그룹 단어 체커 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때 www.acmicpc.net public class Main { private static boolean isGroup(String word) { boolean[] alphabet = new boolean[26]; //알파벳은 26개 boolean result = true; char prev = ' '; for(int i=0; i sc.nextLine()) .filter(Main::isGrou..

    BOJ 4673번 - 셀프넘버

    https://jojelly.tistory.com/90 4673 셀프넘버 JAVA 백준 문제풀이 처음엔 무슨말인지 잘 이해가 되지않아 한참을 보았다. 요점은 1~10000이하의 생성자가 없는 수 를 구하는것. [접근방식] 1.boolean 배열을 선언하여 셀프 넘버를 구분했다. (1~10000이하의 수 이기 때 jojelly.tistory.com private static int d(int x) { int sum = x; while(x != 0) { sum = sum + (x % 10); //1의 자리를 누적하여 sum x = x / 10; //1의 자리 연달아 제거 } return sum; } public static void main(String[] args){ boolean[] evals = new..

    BOJ 2577번 - 숫자의 개수

    https://www.acmicpc.net/problem/2577 2577번: 숫자의 개수 첫째 줄에 A, 둘째 줄에 B, 셋째 줄에 C가 주어진다. A, B, C는 모두 100보다 크거나 같고, 1,000보다 작은 자연수이다. www.acmicpc.net public class Main { public static void main(String[] args){ Scanner sc = new Scanner(System.in); int targetNum = sc.nextInt() * sc.nextInt() * sc.nextInt(); List numbers = Stream.of(String.valueOf(targetNum).split("")) .map(Integer::valueOf) .collect(Col..

    BOJ 1110번 - 더하기 사이클

    https://www.acmicpc.net/problem/1110 1110번: 더하기 사이클 0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음, www.acmicpc.net import java.util.Scanner; public class Main { private static int newNum(int num) { int x = num % 10; //1의 자리 int y = num / 10; //1의 자리 제거(10의 자리) int z = (y + x) % 10; //더한 값의 1의 자리 return (x * 10) + z; } public sta..