본문 바로가기

전체 글376

[백준] 2231번 : 분해합 – JAVA [자바] https://www.acmicpc.net/problem/2231 2231번: 분해합 어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이 www.acmicpc.net 문제 문제 풀이 백준 2231번 분해합은 브론즈 2 난이도의 브루트 포스 문제이다. 이 문제에서는 자연수 N이 주어지고 N의 가장 작은 생성자를 구해서 출력하면 된다. N의 분해합은 N과 각 자릿수의 합을 뜻한다. 예를 들어서 245의 분해합은 245 + 2 + 4 + 5 = 256이 되고 245는 256의 생성자이다. 이 문제는 브루트 포스 문제이다. 즉, 모든 숫자.. 2022. 7. 12.
[백준] 11399번 : ATM – JAVA [자바] https://www.acmicpc.net/problem/11399 11399번: ATM 첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000) www.acmicpc.net 문제 문제 풀이 백준 11399번 ATM은 실버 4 난이도의 그리디 및 정렬 문제이다. 이 문제에서는 사람의 수 N이 주어지고 각 사람당 돈을 인출하는 데 걸리는 시간 Pi가 주어진다. 이때 모든 사람이 돈을 인출하는 데 걸리는 시간의 합의 최솟값을 출력하면 된다. 이 문제는 의외로 간단하다. 바로 각 사람당 돈을 인출하는 데 걸리는 시간 Pi를 먼저 배열로 입력받는다. 그리고 자바에서 기본으로 제공되는 Arrays.sort(.. 2022. 7. 11.
[백준] 1003번 : 피보나치 함수 – JAVA [자바] https://www.acmicpc.net/problem/1003 1003번: 피보나치 함수 각 테스트 케이스마다 0이 출력되는 횟수와 1이 출력되는 횟수를 공백으로 구분해서 출력한다. www.acmicpc.net 문제 문제 풀이 백준 1003번 피보나치 함수는 실버 3 난이도의 DP 문제이다. 이 문제에서는 피보나치의 소스 코드가 C++ 언어로 작성되어 있다. 이 소스 코드는 밑에서 볼 수 있다. //피보나치 소스 코드 int fibonacci(int n) { if (n == 0) { printf("0"); return 0; } else if (n == 1) { printf("1"); return 1; } else { return fibonacci(n‐1) + fibonacci(n‐2); } } 이 소.. 2022. 7. 11.
[백준] 9095번 : 1, 2, 3 더하기 – JAVA [자바] https://www.acmicpc.net/problem/9095 9095번: 1, 2, 3 더하기 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다. www.acmicpc.net 문제 문제 풀이 백준 9095번 1, 2, 3 더하기는 실버 3 난이도의 DP 문제이다. 이 문제에서는 테스트 케이스의 개수 T가 주어진다. 그리고 각 테스트 케이스마다 정수 n이 주어진다. 이때 n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력하면 된다. 우선 예를 들어보겠다. n = 1 1 ∴ 1가지 n = 2 1 + 1 2 ∴ 2가지 n = 3 1 + 1 + 1 1 + 2 2 + 1 3 ∴ 3가지 n = 4 1 + 1 + 1 + 1 2 + 1 + 1 1 + 2 + 1 1 + 1 + 2.. 2022. 7. 11.
[백준] 9012번 : 괄호 – JAVA [자바] https://www.acmicpc.net/problem/9012 9012번: 괄호 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 www.acmicpc.net 문제 문제 풀이 백준 9012번 괄호는 실버 4 난이도의 자료 구조, 문자열 및 스택 문제이다. 이 문제에서는 T개의 테스트 케이스가 있다. 그리고 각 테스트 케이스에서는 괄호 문자열이 1개 주어진다. 이때 이 괄호 문자열이 올바른 괄호 문자열이면 YES, 아니면 NO를 출력하면 되는 문제이다. 이 문제는 꼭 스택을 사용하지 않아도 풀 수 있다. 하지만 스택 문제이니.. 2022. 7. 11.
[백준] 2941번 : 크로아티아 알파벳 – JAVA [자바] https://www.acmicpc.net/problem/2941 2941번: 크로아티아 알파벳 예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳 변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z= www.acmicpc.net 문제 문제 풀이 백준 2941번 크로아티아 알파벳은 실버 5 난이도의 구현 및 문자열 문제이다. 이 문제에서는 입력으로 단어 s가 주어진다. 그리고 이 단어에 크로아티아 알파벳이 총 몇 개인지를 출력해주면 되는 문제이다. 이 문제에서 표에 크로아티아 알파벳 6개가 나와있다. c=, c-, dz=, d-, lj, nj, s=, z= 그리고 나머지 일반 알파벳들이.. 2022. 7. 11.
[백준] 2869번 : 달팽이는 올라가고 싶다 – JAVA [자바] https://www.acmicpc.net/problem/2869 2869번: 달팽이는 올라가고 싶다 첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B < A ≤ V ≤ 1,000,000,000) www.acmicpc.net 문제 문제 풀이 백준 2869번 달팽이는 올라가고 싶다는 실버 5 난이도의 수학 문제이다. 이 문제에서는 막대의 높이 V, 달팽이가 올라가는 높이 A, 그리고 내려오는 높이 B가 주어진다. 낮에 A미터 올라가고 밤에 B미터 내려온다. 이때, 막대를 모두 올라가려면 며칠이 걸리는지를 출력하면 되는 문제이다. 우선 이 문제는 다음과 같은 공식으로 쓸 수 있다. N(A - B) + A = V 즉, 이 문제는 N일 동안 N(A- B)만큼 올라가고 마지막 날에 A.. 2022. 7. 11.
[백준] 10250번 : ACM 호텔 – JAVA [자바] https://www.acmicpc.net/problem/10250 10250번: ACM 호텔 프로그램은 표준 입력에서 입력 데이터를 받는다. 프로그램의 입력은 T 개의 테스트 데이터로 이루어져 있는데 T 는 입력의 맨 첫 줄에 주어진다. 각 테스트 데이터는 한 행으로서 H, W, N, 세 정수 www.acmicpc.net 문제 문제 풀이 백준 10250번 ACM 호텔은 브론즈 3 난이도의 수학 및 구현 문제이다. 이 문제에서는 호텔의 층 수 H, 각 층의 방 수 M, 그리고 N번째 손님이 주어진다. 손님들은 정문으로부터 가장 짧은 방을 선호한다고 할 때 몇 번 방을 배정받는지를 출력하면 되는 문제이다. 우선 예시를 살펴보겠다. EX) H = 6, W = 12, N = 10 위에 있는 사진과 같은 호텔이.. 2022. 7. 11.
반응형