본문 바로가기

전체 글376

[백준] 2292번 : 벌집 – JAVA [자바] https://www.acmicpc.net/problem/2292 2292번: 벌집 위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌 www.acmicpc.net 문제 문제 풀이 백준 2292번 벌집은 브론즈 난이도 2의 수학 문제이다. 이 문제는 사진같이 육각형으로 이루어진 벌집이 있고 번호 N으로 갈 때 몇 개의 방을 지나가는지를 출력하면 되는 문제이다. 이런 유형의 문제는 패턴을 찾는 게 중요하다. 우선 이 문제에서는 시작과 끝을 포함한다고 나와있다. 즉, 1번에서 시작해도 1번으로 갈 때 방 1개를 지나는 것이다. 그리고 N개의 방을 지날 때 갈 수 있는 갈.. 2022. 7. 10.
[백준] 2751번 : 수 정렬하기 2 – JAVA [자바] https://www.acmicpc.net/problem/2751 2751번: 수 정렬하기 2 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net 문제 문제 풀이 백준 2751번 수 정렬하기 2는 실버 5 난이도의 정렬 문제이다. 이 문제에서는 N개의 정수가 주어지고 이 N개의 정수를 오름차순으로 정렬해서 출력만 해주면 된다. 이 문제는 자바에서 기본으로 제공되는 Arrays.sort(배열)을 이용해서 매우 간단히 풀 수 있다. Arrays.sort(int [] arr)는 배열을 매개변수로 한다. 매개 변수로 배열을 받고 그 배열.. 2022. 7. 10.
[백준] 2798번 : 블랙잭 – JAVA [자바] https://www.acmicpc.net/problem/2798 2798번: 블랙잭 첫째 줄에 카드의 개수 N(3 ≤ N ≤ 100)과 M(10 ≤ M ≤ 300,000)이 주어진다. 둘째 줄에는 카드에 쓰여 있는 수가 주어지며, 이 값은 100,000을 넘지 않는 양의 정수이다. 합이 M을 넘지 않는 카드 3장 www.acmicpc.net 문제 문제 풀이 백준 2798번 블랙잭은 브론즈 2 난이도의 브루트 포스 문제이다. 이 문제는 먼저 카드의 개수 N과 넘지 말아야 되는 수 M이 주어진다. 그리고 N개 카드 중에 3장을 써서 M과 최대한 가깝게 만드는 세 수의 합을 구해야 한다. 이 문제는 브루트 포스 문제이다. 즉, 3장의 카드를 쓰면서 가능한 모든 조합을 해야 한다는 것이다. 이 문제는 삼중 f.. 2022. 7. 10.
[백준] 2441번 : 별 찍기 - 4 – JAVA [자바] https://www.acmicpc.net/problem/2441 2441번: 별 찍기 - 4 첫째 줄에는 별 N개, 둘째 줄에는 별 N-1개, ..., N번째 줄에는 별 1개를 찍는 문제 하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오. www.acmicpc.net 문제 문제 풀이 백준 2441번 별 찍기 - 4는 브론즈 3 난이도의 구현 문제이다. 이 문제에서는 자연수 N이 주어진다. 그리고 첫째 줄에는 별 N개, 둘째 줄에는 N - 1개, 그리고 마지막 줄에는 별 1개를 출력하면 된다. 단, 별들은 오른쪽을 기준으로 정렬된 상태로 출력하면 되는 문제이다. 이 문제도 다른 별 찍기 문제들과 마찬가지로 이중 for-loop을 이용해서 풀 수 있다. 첫째 줄에 별 N개를 출력해야 하므로 바.. 2022. 7. 10.
[백준] 10870번 : 피보나치 수 5 – JAVA [자바] https://www.acmicpc.net/problem/10870 10870번: 피보나치 수 5 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 www.acmicpc.net 문제 문제 풀이 백준 10870번 피보나치 수 5는 브론즈 5 난이도의 수학 및 구현 문제이다. 이 문제는 재귀 함수로도 풀 수 있지만 이번 포스트에서는 조금 더 효율적인 다이나믹 프로그래밍, 즉 DP 방식을 소개할까 한다. DP를 잘 모르면 밑에 있는 포스트를 참고하면 되겠다. https://propercoding.tistory.com/4 [알고리즘] 다이.. 2022. 7. 10.
[백준] 1316번 : 그룹 단어 체커 – JAVA [자바] https://www.acmicpc.net/problem/1316 1316번: 그룹 단어 체커 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때 www.acmicpc.net 문제 문제 풀이 백준 1316번 그룹 단어 체커는 실버 5 난이도의 구현 및 문자열 문제이다. 이 문제에서는 N개의 단어가 주어진다. 그리고 이 N개 단어들 중에서 그룹 단어가 몇 개인지를 출력해주면 된다. 그리고 그룹 단어는 단어에 있는 모든 문자가 연속해서 나타날 때 그룹 단어라고 한다. 이 문제에서는 한 문자 s가 이미 나타났는지 아닌지를 확인해야 하니 boo.. 2022. 7. 9.
[백준] 10828번 : 스택 – JAVA [자바] https://www.acmicpc.net/problem/10828 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 문제 문제 풀이 백준 10828번 스택은 실버 4 난이도의 자료 구조 및 스택 문제이다. 스택에 대해서 잘 모른다거나 조금 더 공부하고 싶으면 밑에 있는 링크를 참고하면 되겠다. https://propercoding.tistory.com/17 [자료구조] 스택(Stack) 목차 스택(Stack)의 개념 스택은 한쪽 끝에서만 자료를 넣고 뺄 수 있는 LIFO(Last In Firs.. 2022. 7. 9.
[백준] 1712번 : 손익분기점 – JAVA [자바] https://www.acmicpc.net/problem/1712 1712번: 손익분기점 월드전자는 노트북을 제조하고 판매하는 회사이다. 노트북 판매 대수에 상관없이 매년 임대료, 재산세, 보험료, 급여 등 A만원의 고정 비용이 들며, 한 대의 노트북을 생산하는 데에는 재료비와 www.acmicpc.net 문제 문제 풀이 백준 1712번 손익분기점은 브론즈 난이도의 2의 수학 문제이다. 이 문제에서는 자연수 A, B, C가 주어진다. A는 고정 비용, B는 가변 비용 그리고 C는 판매 비용을 뜻한다. 그리고 몇 개를 팔아야지 최초로 이익이 발생하는지를 출력하면 된다. 이 문제에서 나오는 것처럼 n개의 물건을 만드는데 드는 비용은 A + Bn이라고 한다. 그리고 물건을 n개를 팔 때 벌어들이는 돈은 Cn이.. 2022. 7. 9.
반응형