본문 바로가기
반응형

백준 일반수학13

[백준] 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.
[백준] 2745번 진법 변환 풀이 코드 (Java 자바) 주어진 수를 해당 진법으로 바꾸어 출력하는 문제이다.접근 방법)일단 주어진 N 값을 하나하나 입력받아와서 우리가 알고 있는 숫자로 변환을 시켜주어야 한다.그러기 위해서는 아스키코드를 사용하여 문제를 해결할 수 있다.또한 주어진 N에서 입력받은 값이 숫자일 수도 있고 영어일 수도 있기 때문에 if(조건문)을 사용하여 경우 수를 나누어주도록 한다. 이렇게 N을 문자 하나씩 나누어 입력받은 것이 성공하였다면 Math.pow() 함수를 이용하여 제곱 계산을 처리하면 정답을 성공적으로 출력할 수 있다. 정답 코드 1)import java.util.*;import java.lang.*;import java.io.*;// The main method must be in a class named "Main".class.. 2024. 12. 5.
반응형