![종이 자르기](http://i1.daumcdn.net/thumb/C120x120/?fname=https://blog.kakaocdn.net/dn/LwnTX/btr2sG6UuZP/kewJLEfTBLGkAWUVYj0Hv0/img.png)
종이 자르기
문제 나의 생각 문제에 나온 입출력 값을 보면 M * N -1 처리를 하면 값이 나온다. 나의 답안 public static int solution(int M, int N) { return M * N - 1; }
- Programmers 문제풀이/Lv.0
- · 2023. 3. 7.
문제 나의 생각 문제에 나온 입출력 값을 보면 M * N -1 처리를 하면 값이 나온다. 나의 답안 public static int solution(int M, int N) { return M * N - 1; }
문제 나의 생각 첫번째로는 board 내에 있는 값들을 / 2 반내림으로 처리하여 움직일 수 값을 재지정. keyinput 값을 switch로 구분하여 move 값을 지정. move가 board의 최대 범위를 벗어 날때는 board 최대 값으로 지정하는 수식으로 추가. 나의 답안 public static int[] solution(String[] keyinput, int[] board) { int[] move = {0,0}; for (int i = 0; i < board.length; i++) { board[i] = (int) Math.floor(board[i] / 2); } int length = 0; while (length != keyinput.length) { switch (keyinput[len..
문제 나의 생각 초반에는 replace 함수를 사용하여 처리하는 방식으로 접근. 하지만 문제에서 보니 한번만 사용이 되는 것이니 여러개의 단어를 한번에 변경하는것은 오답처리가 됨. 다음으로 생각한 것은 indexOf함수를 이용하여 글자 자르기로 접근. 찾아서 나오는 글자 기준으로 찾아서 나오는 indexOf로 글자 앞뒤로 자르고 다시 붙이는 방식으로 접근. 이미 한번이라도 글자가 없는 케이스가 있으면 "none"으로 표시. 나의 답안 public static int solution(String[] spell, String[] dic) { int answer = 2; for (int i = 0; i < dic.length; i++) { String a = ""; for (int j = 0; j < spel..
문제 나의 생각 현재 주어진 문제에서 보여주는 입출력 예 #2 #3을 보고 식을 어느 정도 추측을 할 수 있다. 최소값, 최대값, 그리고 합 3가지 수를 이용하면 충분히 식이 나올 것이라고 생각하고 접근. 나의 답안 public static int solution(int[] sides) { int sum = Arrays.stream(sides).sum(); int max = Arrays.stream(sides).max().orElse(0); int min = Arrays.stream(sides).min().orElse(0); System.out.println(max- min); return (max - (max - min)) + (sum > max + 1 ? sum - (max + 1) : 0 ); }