백준43 백준 - 좋은 수열 문제 설명 숫자 1,2,3으로만 N길이의 좋은 수열을 만들 수 있는 수열중 가장 작은 수를 반환하는 문제이다. 여기에서의 좋은 수열은 인접한 두 개의 부분수열이 동일하지 않는 수열이다. 그리고 나쁜 수열은 인접한 두 개의 부분수열이 동일한 경우의 수열이다. ex) 33 32121323 123123213 주의사항 길이가 n자리를 만드는 것에 유념해아햔다. int 또는 long 형의 타입도 커버할 수 없다. 인접한 길이의 부분 수열 로직을 잘 작성해야한다. 앞자리에서 시작하는 부분 수열만을 체크하는 것이 아니라 중간 부분에서 시작한 부분수열에도 동일한 수열이 존재하면 그것은 나쁜 수열로 인식해야 한다. 풀이 static int n; static int arr[] = {1, 2, 3}; public stati.. Algorithm/백준 2023. 4. 25. 백준 - 스도쿠 문제 설명 가로, 세로 그리고 현재 위치한 작은 사각형 내부에 숫자를 1-9까지 고유하게 존재해야하는 스도쿠 판을 완성하는 문제이다. 고유한 숫자가 나오기 위해서 이처럼 검사를 진행해야한다. 1) 행, 열 유일성 검사 2) 작은 사각형 내부 안에서의 숫자의 유일성 검사 시작점을 찾는 규칙을 찾아야하며 해당 시작점부터 +3,까지 숫자의 유일성을 검사해야한다. 풀이 static final int N = 9; static int[][] grids; public static void main(String[] args) throws IOException { grids = new int[N][N]; BufferedReader reader = new BufferedReader(new InputStreamReader(.. Algorithm/백준 2023. 4. 22. 백준 - 애너그램 문제 설명 입력받은 문자열의 모든 철자로 만들수 있는 길이 n의 문자를 출력하는 문제이다. 각 철자들을 중복될 수 있으며 같은 만들 수 있는 단어는 반드시 한번만 출력해야 한다. 또한 알파벳 순서대로 출력을 해야한다. TRY 일반적인 DFS [메모리 초과] 순열 - Next-Permutation [성공] 순열을 사전 순서대로 뽑으려고 할때 지금 뽑은 순열의 다음순열이 어떤 것인지 알아내는 알고리즘이다. 증가하는 구간 찾기 오른쪽구간에 큰값과 SWAP하기 다시 오른쪽구간 재정렬하기 풀이 private static char[] arr; public static void main(String[] args) throws IOException { BufferedReader reader = new BufferedR.. 카테고리 없음 2023. 4. 21. 백준 - 무기공학 문제 설명 격자가 있는 칸에 부메랑(4가지 도형)을 형성하여 최댓값을 구하는 문제이다. 격자의 최대 칸이 5*5이므로 완탐해도 상관 없었다. 현재 위치하고 있는 칸을 부메랑의 중심부라 가정하고 부메랑을 형성하였다. 방문 여부를 판단하여 현재 위치에서 부메랑을 만들 수있는지 판별하였다. 풀이 static boolean v[][]; // 부매랑들의 강도 합의 최댓값을 출력하시오 public static int solution() { v = new boolean[n][m]; pick(0, 0); return answer; } public static void pick(int cnt, int sum) { if (n * m = n || nx >= m; } Algorithm/프로그래머스 2023. 4. 16. 백준 - 줄어드는 수 문제 설명 줄어드는 수 중 n번째인것을 출력하는 문제이다. 줄어드는 수를 321,950과 같은 숫자가 왼쪽에서 오른쪽으로 한자리씩 봤을 때, 작은 수여야 한다고 한다. 322와 859는 줄어드는 수가 아니라고 한다. 해당 문제는 아이디어를 잘 내야한다.. 주의사항 n의 입력을 명시적으로 주고 있지만 얼만큼의 줄어드는 수를 만들어야 할지 고민일 것이다. 위 문제를 보면 줄어드는 수 중 가장 큰수는 987654321이라는 것을 알 수 있다. TRY 선형적으로 1부터 987654321까지 String으로 변환하여 stack을 이용하여 줄어드는 수인지 판별 [시간초과] 백트래킹 9876543210을 배열에 위치시켜 하나씩 골라 수를 만든다. [성공] 수를 만들때 이전에 골랐던 범위는 절대 선택하지 않도록 해야한.. Algorithm/백준 2023. 4. 15. 이전 1 2 3 4 5 6 ··· 9 다음