728x90

자바백준풀이 84

[백준 자바] 13410번(거꾸로 구구단) - 정수 뒤집기

난이도 - 브론즈 2문제일반적인 구구단에서 가장 큰 수는 마지막 항의 값이 제일 크다. 거꾸로 구구단에서는, 각 항에 구구단의 계산 결과로 나온 값을 뒤집어 저장을 한다. 이렇게 하면 가장 큰 값이 항상 마지막이 아니게 된다. 예를 들어 8단의 9개 항의 값은 8, 16, 24, 32, 40, 48, 56, 64, 72 이 되어 72가 가장 크지만, 거꾸로 구구단에서는 8, 61, 42, 23, 4, 84, 65, 46, 27 가 되어 84가 가장 큰 값을 가지게 된다.단의 수 N과 항의 수 K가 주어질 때, 거꾸로 구구단의 가장 큰 값을 출력하는 프로그램을 작성하시오.입력첫째 줄에 N과 K가 주어진다. 두 수는 모두 1,000보다 작거나 같은 자연수이다.출력첫째 줄에 주어진 단과 항에서 나올 수 있는 ..

백준/Java 2024.06.18

[백준 자바] 31428번(엘리스 트랙 매칭)

난이도 - 브론즈 4 문제엘리스 트랙은 2020년부터 시작한 KDT(K-Digital Training) 교육이며 Cloud 트랙, SW 엔지니어 트랙, IOT 트랙, AI 트랙 총 4가지 트랙이 있다.헬로빗은 이러한 엘리스 트랙에 매력을 느껴 친구들 𝑁$N$명을 모아 같이 엘리스 트랙에 지원하려 한다. 헬로빗의 친구들과 헬로빗이 지원하는 트랙에 대한 정보가 주어질 때, 헬로빗이 지원하는 트랙과 같은 트랙을 지원하는 헬로빗의 친구들은 총 몇 명이 있는지 출력하는 프로그램을 작성해 보자.입력첫 번째 줄에 친구들의 수를 의미하는 정수 𝑁$N$이 주어진다. (1≤𝑁≤10000)$(1 \leq N \leq 10 \, 000)$ 두 번째 줄에 헬로빗의 친구들이 지원하는 엘리스 트랙에 대한 정보 𝑁$N$개가 ..

백준/Java 2024.06.14

[백준 자바] 5691번(평균 중앙값 문제)

난이도 - 브론즈 3 문제세 정수 A, B, C의 평균은 (A+B+C)/3이다. 세 정수의 중앙값은 수의 크기가 증가하는 순서로 정렬했을 때, 가운데 있는 값이다.두 정수 A와 B가 주어진다. 이때, A, B, C의 평균과 중앙값을 같게 만드는 가장 작은 정수 C를 찾는 프로그램을 작성하시오.입력입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있고, A와 B가 주어진다. (1 ≤ A ≤ B ≤ 109) 입력의 마지막 줄에는 0이 두 개 주어진다. 출력각 테스트 케이스에 대한 정답을 한 줄에 하나씩 출력한다.  A는 B보다 작거나 같다. 세 수를 크기순으로 정렬했을 때 나올 수 있는 결과는 아래 3가지이다.A B CA C B C A B평균과 중앙값을 같게 만드는 수 ..

백준/Java 2024.06.10

[백준 자바] 2738번(행렬 덧셈)

난이도 - 브론즈 3 문제N*M크기의 두 행렬 A와 B가 주어졌을 때, 두 행렬을 더하는 프로그램을 작성하시오.입력첫째 줄에 행렬의 크기 N 과 M이 주어진다. 둘째 줄부터 N개의 줄에 행렬 A의 원소 M개가 차례대로 주어진다. 이어서 N개의 줄에 행렬 B의 원소 M개가 차례대로 주어진다. N과 M은 100보다 작거나 같고, 행렬의 원소는 절댓값이 100보다 작거나 같은 정수이다.출력첫째 줄부터 N개의 줄에 행렬 A와 B를 더한 행렬을 출력한다. 행렬의 각 원소는 공백으로 구분한다.   n * m 크기의 2차원배열을 생성하고 첫 번째 행렬을 배열에 저장한다. 두 번째 행렬을 읽음과 동시에 배열의 값과 더하고 Stringbuffer에 저장한다.import java.io.*;import java.util.S..

백준/Java 2024.05.05

[백준 자바] 8393번(합) - 1부터 n까지의 합

난이도 - 백준 5문제n이 주어졌을 때, 1부터 n까지 합을 구하는 프로그램을 작성하시오.입력첫째 줄에 n (1 ≤ n ≤ 10,000)이 주어진다.출력1부터 n까지 합을 출력한다.   import java.io.*;public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); int n=Integer.parseInt(br..

백준/Java 2024.04.26

[백준 자바] 2420번(사파리월드) - 절대값 계산하기

난이도 - 브론즈 5문제사파리월드는 인터넷으로만 존재하는 미스테리한 나라이다. 사파리월드에는 2개의 서브도메인이 seunghwan.royal.gov.sw와 kyuhyun.royal.gov.sw 이 있는데, 이것이 couple.royal.gov.sw으로 합쳐질 것이다. 그러나 도메인 관리 센터 SWNIC(센터장: 김동규)에는 엄격한 룰이 있다. 두 서브도메인을 합칠 때, 유명도의 차이가 너무 차이나지 않을 경우에만 두 서브도메인을 결혼시키는 것이다. 서브도메인의 유명도는 정수이다. 두 서브도메인의 유명도가 주어졌을 때, 그 차이를 구하는 프로그램을 작성하시오.입력첫째 줄에 두 도메인의 유명도 N과 M이 주어진다. (-2,000,000,000 ≤ N, M ≤ 2,000,000,000..

백준/Java 2024.04.24

[백준 자바] 1260번(DFS와 BFS)

난이도 - 실버 2 문제 그래프를 DFS로 탐색한 결과와 BFS로 탐색한 결과를 출력하는 프로그램을 작성하시오. 단, 방문할 수 있는 정점이 여러 개인 경우에는 정점 번호가 작은 것을 먼저 방문하고, 더 이상 방문할 수 있는 점이 없는 경우 종료한다. 정점 번호는 1번부터 N번까지이다. 입력 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사이에 여러 개의 간선이 있을 수 있다. 입력으로 주어지는 간선은 양방향이다. 출력 첫째 줄에 DFS를 수행한 결과를, 그 다음 줄에는 BFS를 수행한 결과를 출력한다. V부터 방문된 점을 순서대..

백준/Java 2024.04.20

[백준 자바] 9372번(상근이의 여행) - BFS(너비 우선 탐색) 사용하기

난이도 - 실버 4 문제 상근이는 겨울방학을 맞아 N개국을 여행하면서 자아를 찾기로 마음먹었다. 하지만 상근이는 새로운 비행기를 무서워하기 때문에, 최대한 적은 종류의 비행기를 타고 국가들을 이동하려고 한다. 이번 방학 동안의 비행 스케줄이 주어졌을 때, 상근이가 가장 적은 종류의 비행기를 타고 모든 국가들을 여행할 수 있도록 도와주자. 상근이가 한 국가에서 다른 국가로 이동할 때 다른 국가를 거쳐 가도(심지어 이미 방문한 국가라도) 된다. 입력 첫 번째 줄에는 테스트 케이스의 수 T(T ≤ 100)가 주어지고, 각 테스트 케이스마다 다음과 같은 정보가 주어진다. 첫 번째 줄에는 국가의 수 N(2 ≤ N ≤ 1 000)과 비행기의 종류 M(1 ≤ M ≤ 10 000) 가 주어진다. 이후 M개의 줄에 a와..

백준/Java 2024.04.20

[백준 자바] 4134번(다음 소수)

난이도 - 실버 4 문제 정수 n(0 ≤ n ≤ 4*109)가 주어졌을 때, n보다 크거나 같은 소수 중 가장 작은 소수 찾는 프로그램을 작성하시오. 입력 첫째 줄에 테스트 케이스의 개수가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 정수 n이 주어진다. 출력 각각의 테스트 케이스에 대해서 n보다 크거나 같은 소수 중 가장 작은 소수를 한 줄에 하나씩 출력한다. 입력 수의 다음 소수를 찾아 출력한다. 소수를 판정하는 isPrime함수와 다음 소수를 찾는 findNextPrime함수를 만들었다. import java.io.*; public class Main4134 { public static void main(String[] args) throws Exception { BufferedReade..

백준/Java 2024.04.06
728x90