Java

문제 n과 m이 주어졌을 때 (1
문제 숫자 n이 주어졌을 때, 정해진 규칙에 맞게 별을 출력하라 접근 방식 별 찍기 10을 풀면 11을 쉽게 풀 수 있다길래 바로 도전했는데 어김없이 두들겨 맞았다... 별 찍기 문제들이 다 숫자 하나만 주고 알아서 규칙을 찾아서 규칙대로 출력하라니 정말 골 때리는 문제인 거 같다 (재귀 자체도 어려워 죽겠는데 팍C...) 그래도 이 문제까지 풀고 나니 재귀는 그냥 컴퓨터한테 믿고 맡기라는 말이 무슨 말인지 이해가 되는 거 같다 * * * ***** 우선 n이 3인 경우를 살펴보면 알 수 있는 것들이 몇 가지 있다. 별은 총 3개의 층으로 규칙 없이 1, 2, 5개가 찍힌다. 가장 아래층은 2n - 1의 길이를 가진다. * * * ***** * * * * * * ***** ***** 다음으로 6인 경우를..
문제 숫자 n이 주어졌을 때 패턴에 맞게 정사각형 모양의 별을 출력하라 n = 3의 k제곱 (1 ≤ k
문제 위와 같은 0과 1로 이루어진 영상의 정보가 담긴 배열이 주어졌을 때 영상이 같은 색깔로만 이루어진 경우에는 압축이 가능하고 그렇지 않은 경우에는 영상을 4등분 하여 압축이 가능한지 계속해서 확인하여 영상을 압축한 결과를 출력하라 접근 방식 (0(0011)(0(0111)01)1) 문제의 예시 그림 같은 경우에는 위와 같은 형태로 압축이 가능한데 1780, 2630번 문제를 풀어봤다면 이번 문제 역시 쉽게 풀 수가 있다. 영상의 가로, 세로 길이는 항상 2의 k제곱 형태를 유지하기 때문에 영상을 4등분 하는 것은 이전 문제들을 풀던 것처럼 재귀를 돌 때마다 길이를 절반 나눠주면 된다. 위 이미지처럼 검은색 > 빨간색 > 파란색 순서로 재귀 호출을 하면서 현재 범위가 모두 같은 수로만 이루어져 있는지 ..
문제 위와 같이 그림의 색깔 (파란색:1, 흰색:0)의 정보가 주어질 때 한 가지 색깔로만 이루어진 그림의 종류가 각각 몇 개인지 출력하라 접근 방식 이전에 풀었던 1780번 문제와 같은 문제로 기존에 3으로 나누던 방식에서 2로 나눠주는 부분만 바뀌고 종이의 종류가 흰색과 파란색 두 개만 있다는 것만 다르다. [백준] 1780번 : 종이의 개수 문제 -1, 0, 1로만 이루어진 가로, 세로의 길이가 3^n인 종이가 주어졌을 때 같은 숫자로만 이루어진 종이가 종류별로 몇 개인지 출력하라 접근 방식 현재 종이가 같은 숫자로만 이루어지지 않은 da9dac.tistory.com 이전 글을 참고하면 좋다. 풀이 public class Main { private static int[][] arr; private ..
· Java/Notion
자바의 컴파일 과정 자바는 JVM을 통해 OS에 독립적으로 실행시킬 수 있는데 어떻게 이런 일이 가능한지 알기 위해 자바의 컴파일 과정을 살펴보겠습니다. public class Main { public static void main(String[] args) { System.out.println("Hello"); } } 우리는 보통 위와 같이 ".java" 확장자를 가진 파일에 소스 코드를 작성하고 인텔리제이나 이클립스 같은 IDE로 손쉽게 버튼을 클릭해 실행하거나 "javac"와 "java" 명령어를 통해서 실행할 수 있습니다. 컴파일 타임 환경 이 과정에서 소스 코드를 실행하기 위해 컴파일 하는 과정을 거치게 되는데 위 이미지와 같이 ".java" 파일이 컴파일러를 거쳐 ".class"파일이 생성되게..
문제 -1, 0, 1로만 이루어진 가로, 세로의 길이가 3^n인 종이가 주어졌을 때 같은 숫자로만 이루어진 종이가 종류별로 몇 개인지 출력하라 접근 방식 현재 종이가 같은 숫자로만 이루어지지 않은 경우에는 종이를 9등분 하고 같은 숫자로만 이루어져 있을 때만 해당하는 종이의 카운트를 1씩 올려줘야 한다. 종이의 가로, 세로 길이는 3의 n제곱으로만 주어지기 때문에 같은 숫자로 이루어지지 않은 경우에는 3으로 범위를 나눠주면서 재귀를 계속해서 돌려주면 된다. 예를 들어 가로, 세로의 길이가 27이고, 해당 종이가 같은 숫자로만 이루어지지 않았으면 가로, 세로 길이가 9인 종이 9개로 나눌 수 있고 이 종이를 다시 3인 종이와 1인 종이로 나눌 수 있다. 나눌 때마다 현재 종이가 같은 숫자로 이루어진지 확인..
문제 정해진 출력 양식에 맞게 주어진 반복 횟수만큼 반복해서 출력하라 접근 방식 어느 한 컴퓨터공학과 학생이 유명한 교수님을 찾아가 물었다. "재귀함수가 뭔가요?" "잘 들어보게. 옛날옛날 한 산 꼭대기에 이세상 모든 지식을 통달한 선인이 있었어. 마을 사람들은 모두 그 선인에게 수많은 질문을 했고, 모두 지혜롭게 대답해 주었지. 그의 답은 대부분 옳았다고 하네. 그런데 어느 날, 그 선인에게 한 선비가 찾아와서 물었어." ____"재귀함수가 뭔가요?" ____"잘 들어보게. 옛날옛날 한 산 꼭대기에 이세상 모든 지식을 통달한 선인이 있었어. ____마을 사람들은 모두 그 선인에게 수많은 질문을 했고, 모두 지혜롭게 대답해 주었지. ____그의 답은 대부분 옳았다고 하네. 그런데 어느 날, 그 선인에게 ..
da9dac
'Java' 카테고리의 글 목록 (18 Page)