자바 55

백준[11660]번 : 구간 합 구하기 5 ( JAVA )

https://www.acmicpc.net/problem/11660 11660번: 구간 합 구하기 5 첫째 줄에 표의 크기 N과 합을 구해야 하는 횟수 M이 주어진다. (1 ≤ N ≤ 1024, 1 ≤ M ≤ 100,000) 둘째 줄부터 N개의 줄에는 표에 채워져 있는 수가 1행부터 차례대로 주어진다. 다음 M개의 줄에는 네 www.acmicpc.net Code import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.StringTokenizer; p..

백준 2023.07.18

백준[10815]번 : 숫자 카드 ( JAVA )

https://www.acmicpc.net/problem/10815 10815번: 숫자 카드 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net Code import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.ArrayList; import java.ut..

백준 2023.07.14

백준[18110]번 : solved.ac ( JAVA )

https://www.acmicpc.net/problem/18110 18110번: solved.ac 5명의 15%는 0.75명으로, 이를 반올림하면 1명이다. 따라서 solved.ac는 가장 높은 난이도 의견과 가장 낮은 난이도 의견을 하나씩 제외하고, {5, 5, 7}에 대한 평균으로 문제 난이도를 결정한다. www.acmicpc.net Code import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; public class Main { public static void main(String[] args) throws IOException { Buff..

백준 2023.06.23

백준[1003]번 : 피보나치 함수 ( JAVA )

https://www.acmicpc.net/problem/1003 1003번: 피보나치 함수 각 테스트 케이스마다 0이 출력되는 횟수와 1이 출력되는 횟수를 공백으로 구분해서 출력한다. www.acmicpc.net 틀린 Code import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.StringTokenizer; public class Main { static int count0 = 0; static int count1 = 0; public stat..

백준 2023.05.12

백준[18111]번 : 마인크래프트 ( JAVA )

https://www.acmicpc.net/problem/18111 18111번: 마인크래프트 팀 레드시프트는 대회 준비를 하다가 지루해져서 샌드박스 게임인 ‘마인크래프트’를 켰다. 마인크래프트는 1 × 1 × 1(세로, 가로, 높이) 크기의 블록들로 이루어진 3차원 세계에서 자유롭게 www.acmicpc.net Code import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.StringTokenizer; public class Main { publ..

백준 2023.05.10

백준[15829]번 : Hashing ( JAVA )

https://www.acmicpc.net/problem/15829 15829번: Hashing APC에 온 것을 환영한다. 만약 여러분이 학교에서 자료구조를 수강했다면 해시 함수에 대해 배웠을 것이다. 해시 함수란 임의의 길이의 입력을 받아서 고정된 길이의 출력을 내보내는 함수로 정 www.acmicpc.net Code import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.math.BigInteger; import java.util.HashMap; pub..

백준 2023.05.10

백준[1920]번: 수 찾기 ( JAVA )

https://www.acmicpc.net/problem/1920 1920번: 수 찾기 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들 www.acmicpc.net Code import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.ArrayList; impo..

백준 2023.04.15

이분 탐색,이진 탐색(Binary Search) 알고리즘에 대해 알아보자. ( Java )

백준문제를 풀다가 이분 탐색을 사용하게 된 문제가 있어서 글을 써본다. 먼저 이분탐색이란 주어진 정렬된 리스트에서 특정한 값을 찾는 알고리즘으로, 리스트를 반으로 나누어 탐색 범위를 좁혀가며 원하는 값을 찾아가는 방식이다. 이 알고리즘은 매우 효율적으로 동작하고, 탐색 대상이 많은 큰 데이터 집합에서 유용하게 사용된다. 이분탐색은 O(log N)의 시간 복잡도를 가진다. 이분탐색 알고리즘을 글로 설명하자면 다음과 같다. 1. 처음에 주어진 리스트의 초기 인덱스와 끝 인덱스를 받아 2로 나누어 가운데 값을 구한다. ex) mid = (low + high ) / 2 2. 주어진 리스트는 정렬되어 있으므로 리스트의 mid에 위치하는 요소와 찾고자 하는 요소를 비교한다. 이때, 찾고자 하는 요소인 key 값이 ..

coding 2023.04.15

백준[20920]번 : 영단어 암기는 괴로워 ( JAVA )

https://www.acmicpc.net/problem/20920 20920번: 영단어 암기는 괴로워 첫째 줄에는 영어 지문에 나오는 단어의 개수 $N$과 외울 단어의 길이 기준이 되는 $M$이 공백으로 구분되어 주어진다. ($1 \leq N \leq 100\,000$, $1 \leq M \leq 10$) 둘째 줄부터 $N+1$번째 줄까지 외울 단 www.acmicpc.net Code import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.HashMap; import java.util.List; import java.util.StringTokenizer; impo..

백준 2023.04.08

백준[26069]번 : 붙임성 좋은 총총이 ( JAVA )

https://www.acmicpc.net/problem/26069 26069번: 붙임성 좋은 총총이 첫번째 줄에는 사람들이 만난 기록의 수 $N\ (1 \le N \le 1\ 000)$이 주어진다. 두번째 줄부터 $N$개의 줄에 걸쳐 사람들이 만난 기록이 주어진다. $i + 1$번째 줄에는 $i$번째로 만난 사람들의 이름 $A_i$ www.acmicpc.net Code import java.util.HashSet; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); HashSet set = new HashSet(); int n = sc..

백준 2023.04.08