본문 바로가기
반응형

백준 브론즈48

[백준] 2292번 벌집 풀이 코드 (Java 자바) 중앙 1번부터 시작해서 시계방향으로 점점 숫자를 쌓아 들려가고 있다. 주어진 번호가 중앙 1번부터 최소 몇 개의 방을 지나가는지 출력하는 문제이다.접근 방법)우선 최소 개수의 방을 지나서 갈 때 몇 개의 방을 지나는지 구하기 위해 어렵게 생각할 필요 없다.단순하게 '몇 겹째에 해당 숫자가 존재하는지 출력하시오'를 어렵게 말로 풀이해 놓은것이다. 점의 개수 증가 규칙첫 번째 중앙에는 점이 1개, 두 번째 겹에는 7개, 세 번째 겹에는 19개가 배치되는 방식으로 점의 개수가 점점 늘어난다.이 과정에서 겹마다 점의 개수는 특정 규칙을 따른다. 각 겹에서 점의 개수는 6 × 1, 6 × 2, 6 × 3, ... 형태로 증가한다. 위 규칙을 기반으로 다양한 코드를 작성할 수 있다.나같은 경우는 N 값에서 각 겹의.. 2024. 12. 18.
[백준] 2903번 중앙 이동 알고리즘 풀이 코드 (Java 자바) 일정한 규칙에 따라 점점 늘어나는 점들의 개수를 출력하는 문제이다.접근 방법)이 문제는 점의 개수가 특정 규칙에 따라 증가하는 패턴을 찾아서 최종적으로 점의 개수를 구하는 문제이다. 복잡해 보이지만 한 변의 점 개수의 규칙을 이해하면 금방 해결할 수 있다. 점의 개수 증가 규칙한 변의 점 개수가 N에서 시작했다고 가정하면, 다음 단계에서는 (N-1) + N만큼 점이 찍힌다.이 규칙을 반복적으로 적용하면 한 변의 점 개수를 구할 수 있다. 누적합과 제곱 활용한 변의 점 개수를 구한 후, 그 값을 제곱하면 전체 점의 개수를 구할 수 있다.이를 for문과 누적 합을 활용하여 구현하면 된다.  정답 코드 1)import java.util.*;import java.lang.*;import java.io.*;// .. 2024. 12. 17.
[백준] 2720번 세탁소 사장 동혁 풀이 코드 (Java 자바) 주어진 입력 값(거스름돈)에 필요한 동전 개수를 나열하여 출력하는 문제이다.접근 방법)입력 값 첫째 줄에 테스트 케이스의 개수가 주어져서 그만큼 거스름돈 계산을 해야 한다.그러기 때문에 일단 T만큼 반복 작업을 하는 for문을 생성하자. 그다음 for문 안에서 C값을 받고 쿼터로 나눠준다. 그 몫은 출력하고 나머지는 다임으로 나눠준다. 마찬가지로 그 몫은 출력하고 나머지는 니켈로 나눠준다. 이 작업을 페니까지 계산해 주면 된다. 정답 코드 1)import java.util.*;import java.lang.*;import java.io.*;// The main method must be in a class named "Main".class Main { public static void main(St.. 2024. 12. 16.
[백준] 11005번 진법 변환2 풀이 코드 (Java 자바) 해당 주어진 숫자를 해당 B진법으로 바꾸어 출력하는 문제이다.N을 B진법으로 바꾸는 방법에 대해 아래 그림을 통해 간단하게 살펴보자. 아래 예시는 46을 2진법으로 바꾸어 101110 값이 도출되는 과정을 적어놓았다.이것을 코드로 어떻게 변환하여 짜야할지 고민을 해보자.접근 방법)N을 B진법으로 나누는 과정은 정말 간단하다.N을 B로 나누고 그 몫을 B로 계속해서 몫이 0일 될 때까지 나누는데, 그 과정에서 나오는 몫과 나머지 중 나머지가 이 문제 출력값에 해당되는 값이다. while문을 이용하여 몫이 0보다 클 때까지 B로 계속 나누는 작업을 해주어야한다.그러면 나머지를 0, 1, 1, 1, 0, 1 순으로 얻을 수 있게 되는데 우리가 필요한 값은 1, 0, 1, 1, 1, 0이다.(추가로 나머지가 1.. 2024. 12. 11.
반응형