반응형

java 3

백준 14888번 연산자 끼워넣기

백준 14888번 연산자 끼워넣기 문제이다. 연산자 끼워넣기 문제이다. 역시 백트래킹 문제이고 이전에 N과 M 문제는 숫자를 하나씩 넣어가면서 수열을 만드는 것이었다면 이번에는 연산자를 하나씩 넣어서 확인하는 방식이다. 숫자와 연산자 갯수를 배열에 넣어주고 연산자를 하나씩 골라가면서 연산을 해주면 될 것으로 보인다. 최댓값, 최솟값을 구해야 하기 때문에 연산자를 모두 쓰는 순간, 나온 값을 최댓값 최솟값과 비교하여 갱신해주면 될 것이다. import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStream..

백준 15651번 N과 M (3)

백준 15651번 N과 M (3) 문제이다. 문제는 다음과 같다. 이전 N과 M 문제들과 비슷하다. 이번에는 중복이 허용되어 있다. 역시 같은 백트래킹 문제이다. 이번에는 중복이 허용되기 때문에 check 배열이 필요가 없다.(만들어놓고 쓰질 않았다...) 그대로 모든 경우를 돌려 수열이 완성되면 출력하도록 만들어주었다. 언어는 java를 이용하였다. 입출력을 System을 이용하여 했더니 시간초과가 나와서 Buffer를 사용해주었다. 백준에서 풀때는 항상 이 방법을 사용하도록 해야겠다. import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader..

백준 7568번 덩치

백준 7568번 덩치 문제이다. 브루트포스 유형의 문제이다. 간단히 설명하면 각각의 사람의 입장에서 몸무게와 키가 모두 자기보다 큰 사람이 자기보다 덩치가 큰 사람이고 자기보다 덩치가 큰 사람의 수 + 1 한 값이 자신의 등수가 된다. 브루트포스 유형이므로 각각의 사람 입장에서 자기보다 덩치 큰 사람의 수를 구해 +1 한 값을 하나씩 출력하도록 코딩해보자 이번 문제는 java로 프로그래밍 했다. import java.util.Scanner; public class Main { public static void main(String[] args){ Scanner scan = new Scanner(System.in); int n = scan.nextInt(); int[][] a = new int[n][2];..

반응형