백준 4

[백준] 수들의 합_자바

https://www.acmicpc.net/problem/1789 1789번: 수들의 합 첫째 줄에 자연수 S(1 ≤ S ≤ 4,294,967,295)가 주어진다. www.acmicpc.net 자연수 N의 최댓값을 구해야하기 때문에 작은 자연수부터 더해야할 것이다. EX) S=60 자연수 1부터 합이 60을 넘어갈 때까지 더한다. 11까지 더했을 때 60을 넘긴다. 1+2+3+4+5+6+7+8+9+10+11 = 66 60을 만드려면 66에서 6을 빼면 된다. 이렇게 되면 서로 다른 N개의 자연수를 더해 S를 만들 수 있다. 따라서 자연수 개수는 11-1 = 10개이다. import java.util.Scanner; public class P1789 { public static void main(Strin..

알고리즘/백준 2022.11.12

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

https://www.acmicpc.net/problem/1316 1316번: 그룹 단어 체커 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때 www.acmicpc.net 문자열로 문자 배열 만듦. 바로 앞 문자와 비교해서 같으면 넘어가고 다른데 이전에 나온적 있다면 그룹 단어가 아님, 나온적 없다면 그룹 단어가 될 수 있음 이전에 나왔는지 확인하기 위해 알파벳 개수 크기로 int 배열 만들었다. 문자 배열에서 나온 알파벳을 확인하려면 확인 배열 인덱스가 알파벳-97인 부분 값이 1인지 확인하려고 했다. 1이면 이전에 나온 알파벳이고..

알고리즘/백준 2022.11.10

[백준] 통계학_자바

https://www.acmicpc.net/problem/2108 2108번: 통계학 첫째 줄에 수의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 단, N은 홀수이다. 그 다음 N개의 줄에는 정수들이 주어진다. 입력되는 정수의 절댓값은 4,000을 넘지 않는다. www.acmicpc.net 산술평균 : N개의 수들의 합을 N으로 나눈 값 중앙값 : N개의 수들을 증가하는 순서로 나열했을 경우 그 중앙에 위치하는 값 최빈값 : N개의 수들 중 가장 많이 나타나는 값 범위 : N개의 수들 중 최댓값과 최솟값의 차이 산술평균, 중앙값, 최빈값, 범위를 차례로 구하는 문제 산술평균은 Math.round()를 사용해야 하는데 Math.floor()를 사용하는 실수를 함 중앙값과 범위는 쉽게 구했지만 최빈값..

알고리즘/백준 2022.11.10

[백준] 색종이_자바

https://www.acmicpc.net/problem/2563 2563번: 색종이 가로, 세로의 크기가 각각 100인 정사각형 모양의 흰색 도화지가 있다. 이 도화지 위에 가로, 세로의 크기가 각각 10인 정사각형 모양의 검은색 색종이를 색종이의 변과 도화지의 변이 평행하도록 www.acmicpc.net 입력 첫 줄은 색종이 개수 두 번째 줄부터 각 사각형 왼쪽 아래 x 값과 오른쪽 아래 y값이 주어진다. 사각형 길이는 가로 세로 10이라고 했으니까 100*100인 행렬을 만들고, 행렬에서 사각형에 해당하는 부분을 값을 1로 한다. 행렬에서 1인 부분 개수가 답 import java.util.Scanner; public class P2563 { public static void main(String[..

알고리즘/백준 2022.11.10