본문 바로가기
728x90

java132

[백준] 32724번 : Erinevused https://www.acmicpc.net/problem/32724 예제 입력의 경우 정렬을 하게 된다면1, 2, 4가 되고 2 - 1 = 14 - 2 = 24 - 1 = 3 = 4 - 2 + 2 - 1 이런 공식으로 합을 더하게 되면 쉽게 풀 수 있다. import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.Arrays;import java.util.StringTokenizer;public class Main { public static void main(String[] args) throws IOException{ BufferedReader br = new Buff.. 2024. 11. 19.
[백준] 8416번 : Czy umiesz potęgować? https://www.acmicpc.net/problem/8416 a^b를 했을 때, 맨 끝자리 수를 구하는 문제입니다. 2의 배수로 생각했을 때 2, 4, 8, 6이 반복되고3의 배수로 생각하면 3, 9, 7, 1이 반복됩니다. 2부터 9까지 모두 생각했을 때, 4개의 수가 반복되므로 b를 4로 나눈 나머지 만큼만 돌면 됩니다.맨 끝자리만 구하면 되니 a도 10으로 나눈 나머지만 곱하면 됩니다. 단, b가 4의 배수인 경우 4로 지정하면 됩니다. import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.StringTokenizer;public class Main { pu.. 2024. 11. 18.
divide zero 오늘은 프로그래밍 언어에서 divide(나누기)시 발생하는 현상들에 대해서 다뤄보고자 합니다. System.out.println(1 / 0);다음 코드를 실행하면 어떤 결과가 나올까요?Exception in thread "main" java.lang.ArithmeticException: / by zero에러가 발생합니다. System.out.print(1.0 / 0);그러면 다음과 같은 코드를 실행하면 어떤 결과가 나올까요?Infinity예상과는 다르게 error가 발생하지 않습니다. GPT에 물어보니1.0 / 0: 이 연산은 double 타입과 int 타입의 혼합 연산입니다. 0은 정수 타입이지만, 1.0이 double이므로 Java는 자동으로 0을 double로 변환하여 계산합니다. 이 경우에도 0으.. 2024. 10. 27.
[백준] 9250번 : 문자열 집합 판별 https://www.acmicpc.net/problem/9250 해당 문제는 N개의 문자들이 Q번 입력받은 문자열들의 부분집합으로 포함되어 있는지 확인하는 문제입니다.Trie와 KMP를 활용한 aho-corasick이라는 알고리즘 통해 해결항 수 있습니다. 트리에 insertvoid insert(String word) { Trie curNode = this; for(int i = 0; i  kmp의 fail함수를 트리형태로public void computeFailFunc() { Queue queue = new LinkedList(); this.fail = this; queue.add(this); while(!queue.isEmpty()) { Trie cur = queue.poll();.. 2024. 10. 13.
728x90