728x90
반응형

백준/Java 2

[백준][JAVA] 1662번 - 압축

https://www.acmicpc.net/problem/1662풀이'(' 기호가 나올 때마다 대응하는 ')' 기호가 나올 때까지 함수를 호출하고 사이의 길이를 구한다() 중간에 다른 괄호가 있는 경우 안쪽 괄호의 길이를 먼저 계산하여 리턴하면 바깥쪽 괄호의 Q 길이를 구할 수 있다 압축 부분 K(Q)의 Q의 길이를 구하는 것이 관건인 문제인 것 같다. 문제를 처음 봤을 때 stack를 생각했고 (, )를 사이 문자의 개수를 세어 Q의 길이를 계산하는 방식의 풀이 방법을 생각했으나 K(K(Q))와 같은 형태에서 바깥쪽 K(Q)의 Q의 길이를 구하는 데에 어려움이 있었다. 조금 더 생각해 보니 재귀함수를 호출해서 Q의 길이를 구하는 방법으로 문제를 해결할 수 있었다.답import java.io.*;imp..

백준/Java 2024.05.10

[백준][Java] 15650번 - N과 M (2)

https://www.acmicpc.net/problem/15650 15650번: N과 M (2) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 풀이 재귀함수를 사용하여 수열을 생성하고, 수열의 길이가 m이 되었을 때 출력 재귀함수의 깊이는 M이 됨 함수의 깊이 = M(m = 0)이면, 만들어 놓은 수열 출력 함수의 깊이 0)이면, 다음 깊이의 함수를 호출할 때 새로운 수열을 전달함 (새로운 수열 = 이번 함수에서 인자로 받은 수열 + 수열에 새로운 숫자 추가) k - 조합을 생성하기 위한 시작 수 n - 범위의 최대 수 ..

백준/Java 2023.07.13
728x90
반응형