재귀함수 공부하기.. (feat. 미로찾기)
재귀함수를 공부하는데 유튜브의 권오흠교수님의 강의를 보면서 공부를 했다. 재귀함수를 만들려면 노하우가 암시적 매개변수를 명시적 매개변수로 바꾸라! 라고 하셨다. 이번 미로 찾기 문제는 미로가 주어지고 거기까지의 경로를 구하는 문제였는데, 힌트 한번보고 재밌게 풀었다.. import java.util.Stack; public class Test { public static final int[][] dir = {{1, 0}, {-1, 0}, {0, 1}, {0, -1}}; public static void main(String[] args) { boolean[][] board = {{true,true,true,true,true,true,true,false},{true,false,false,true,false..
2022. 4. 12.
MxN 행렬 데이터의 특정 원소의 행,열 모두를 변경하기
정수로 이루어진 M x N 행렬 데이터가 있다고 하자 행렬의 원소 중에 0이 있을 경우 해당 원소가 위치하는 행,열 전체 데이터를 0으로 변경하는 코드를 작성하라. 제로베이스 문제 풀이에서는 다르게 풀었지만 boolean써가면서 푸는게 이해가 잘 안되서 그냥 내 식대로 풀어봤다. import java.util.*; import java.util.stream.IntStream; class Main { public static void main(String[] args) { int[][] matrix = {{1, 1, 1}, {1, 0, 1}, {1, 1, 1}}; solution(matrix); System.out.println(); matrix = new int[][]{{1,1,0},{1,1,1},{0,..
2022. 4. 6.
파스칼의 삼각형
파스칼의 삼각형은 다음과 같이 만들 수 있다. 1. 첫 번째 줄에는 숫자 1을 쓴다. 2. 그 다음 줄은 바로 위의 왼쪽 숫자와 오른쪽 숫자를 더한다. 입력 출력 1 [[1]] 3 [[1], [1, 1], [1, 2, 1]] 5 [[1], [1, 1], [1, 2, 1], [1, 3, 3, 1], [1, 4, 6, 4, 1]] 처음으로 완벽하게 풀어서 올려봅니다.. 흑흑 import java.util.ArrayList; public class Practice1 { public static ArrayList solution(int numRows) { ArrayList outer = new ArrayList(); // 파스칼 삼각형 전체 for (int i = 0; i < numRows; i++) { // ..
2022. 4. 1.