본문 바로가기

알고리즘/백준122

백준 2981 검문 (JAVA 자바 풀이) 백준 2981 검문 (JAVA 자바 풀이) 📌 문제 트럭을 타고 이동하던 상근이는 경찰의 검문을 받게 되었다. 경찰은 상근이가 운반하던 화물을 하나하나 모두 확인할 것이기 때문에, 검문하는데 엄청나게 오랜 시간이 걸린다. 상근이는 시간을 때우기 위해서 수학 게임을 하기로 했다. 먼저 근처에 보이는 숫자 N개를 종이에 적는다. 그 다음, 종이에 적은 수를 M으로 나누었을 때, 나머지가 모두 같게 되는 M을 모두 찾으려고 한다. M은 1보다 커야 한다. N개의 수가 주어졌을 때, 가능한 M을 모두 찾는 프로그램을 작성하시오. ⚔ 입력 첫째 줄에 종이에 적은 수의 개수 N이 주어진다. (2 ≤ N ≤ 100) 다음 줄부터 N개 줄에는 종이에 적은 수가 하나씩 주어진다. 이 수는 모두 1보다 크거나 같고, 1,.. 2022. 12. 4.
백준 2609 최대공약수와 최소공배수 (JAVA 자바 풀이) 백준 2609 최대공약수와 최소공배수 (JAVA 자바 풀이) 📌 문제 두 개의 자연수를 입력받아 최대 공약수와 최소 공배수를 출력하는 프로그램을 작성하시오. ⚔ 입력 첫째 줄에는 두 개의 자연수가 주어진다. 이 둘은 10,000이하의 자연수이며 사이에 한 칸의 공백이 주어진다. 📣 출력 첫째 줄에는 입력으로 주어진 두 수의 최대공약수를, 둘째 줄에는 입력으로 주어진 두 수의 최소 공배수를 출력한다. 💎 문제 분석 최대공약수와 최대공배수는 유클리드 호제법을 이용하여 간단히 구할 수 있다. 💡 코드 구현 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Strin.. 2022. 12. 4.
백준 2477 참외밭 (JAVA 자바 풀이) 백준 2477 참외밭 (JAVA 자바 풀이) 📌 문제 1m2의 넓이에 자라는 참외의 개수와, 참외밭을 이루는 육각형의 임의의 한 꼭짓점에서 출발하여 반시계방향으로 둘레를 돌면서 지나는 변의 방향과 길이가 순서대로 주어진다. 이 참외밭에서 자라는 참외의 수를 구하는 프로그램을 작성하시오. ⚔ 입력 첫 번째 줄에 1m2의 넓이에 자라는 참외의 개수를 나타내는 양의 정수 K (1 ≤ K ≤ 20)가 주어진다. 참외밭을 나타내는 육각형의 임의의 한 꼭짓점에서 출발하여 반시계방향으로 둘레를 돌면서 지나는 변의 방향과 길이 (1 이상 500 이하의 정수) 가 둘째 줄부터 일곱 번째 줄까지 한 줄에 하나씩 순서대로 주어진다. 변의 방향에서 동쪽은 1, 서쪽은 2, 남쪽은 3, 북쪽은 4로 나타낸다. 📣 출력 첫째 줄.. 2022. 12. 4.
백준 3009 네 번째 점 (JAVA 자바 풀이) 백준 3009 네 번째 점 (JAVA 자바 풀이) 📌 문제 세 점이 주어졌을 때, 축에 평행한 직사각형을 만들기 위해서 필요한 네 번째 점을 찾는 프로그램을 작성하시오. ⚔ 입력 세 점의 좌표가 한 줄에 하나씩 주어진다. 좌표는 1보다 크거나 같고, 1000보다 작거나 같은 정수이다. 📣 출력 직사각형의 네 번째 점의 좌표를 출력한다. 💎 문제 분석 해시맵을 이용해서 점의 개수를 카운트 하여 등장하지 않은 좌표를 판단한다. 💡 코드 구현 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.HashMap; import java.util.StringTokenizer.. 2022. 12. 4.
백준 11478 서로 다른 부분 문자열의 개수 (JAVA 자바 풀이) 백준 11478 서로 다른 부분 문자열의 개수 (JAVA 자바 풀이) 📌 문제 문자열 S가 주어졌을 때, S의 서로 다른 부분 문자열의 개수를 구하는 프로그램을 작성하시오. 부분 문자열은 S에서 연속된 일부분을 말하며, 길이가 1보다 크거나 같아야 한다. 예를 들어, ababc의 부분 문자열은 a, b, a, b, c, ab, ba, ab, bc, aba, bab, abc, abab, babc, ababc가 있고, 서로 다른것의 개수는 12개이다. ⚔ 입력 첫째 줄에 문자열 S가 주어진다. S는 알파벳 소문자로만 이루어져 있고, 길이는 1,000 이하이다. 📣 출력 첫째 줄에 S의 서로 다른 부분 문자열의 개수를 출력한다. 💎 문제 분석 Substring 기능을 이용해 문자열을 알맞게 쪼개줄 수 있다. .. 2022. 12. 4.