본문 바로가기

분류 전체보기67

EOF 처리 EOF란? End of File, 데이터 소스로부터 더 이상 읽을 수 있는 데이터가 없다는 뜻이다. Scanner 클래스 hasNext() 메소드를 사용 입력된 토큰이 있으면 true를 반환하고, 그렇지 않을 경우 false를 반환 Scanner sc = new Scanner(System.in); while(sc.hasNext()) { } BufferedReader 클래스 br.readLine()으로 입력값을 계속 읽되, 읽은 값이 null이 되면 반복문을 종료하는 방식 BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); String input = ""; while((input = bf.readLine()) != null &.. 2023. 3. 15.
백준 15650번: N과 M(2) [JAVA] https://www.acmicpc.net/problem/15650 15650번: N과 M (2) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 풀이 조합 구하기 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { static int N; static int M; static boolean isSelected[]; stati.. 2023. 3. 15.
백준 2960번: 도영이가 만든 맛있는 음식 [JAVA] https://www.acmicpc.net/problem/2961 2961번: 도영이가 만든 맛있는 음식 첫째 줄에 재료의 개수 N(1 ≤ N ≤ 10)이 주어진다. 다음 N개 줄에는 그 재료의 신맛과 쓴맛이 공백으로 구분되어 주어진다. 모든 재료를 사용해서 요리를 만들었을 때, 그 요리의 신맛과 쓴맛은 www.acmicpc.net 풀이 부분집합을 이용한 문제이다. 재구함수로 각각의 재료를 쓰는 경우/안 쓰는 경우를 나눠 모든 부분집합을 구한 뒤, 각 부분집합에서의 쓴맛과 신맛 차이 중 가장 작은 값을 출력한다. 재료가 하나도 쓰이지 않은 경우는 제외한다. 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputS.. 2023. 3. 15.
백준 1759번: 암호만들기 [JAVA] https://www.acmicpc.net/problem/1759 1759번: 암호 만들기 첫째 줄에 두 정수 L, C가 주어진다. (3 ≤ L ≤ C ≤ 15) 다음 줄에는 C개의 문자들이 공백으로 구분되어 주어진다. 주어지는 문자들은 알파벳 소문자이며, 중복되는 것은 없다. www.acmicpc.net 풀이 주어진 문자 C개 중 L개를 뽑은 뒤 정렬하면 되기 때문에 조합을 사용한다. 초기 문자열을 정렬하고, 재귀 함수를 이용해 자신보다 인덱스가 큰 문자들만 탐색하며 암호를 찾아나간다. 찾은 암호에 모음이 1개, 자음이 2개 이상 있는지 확인한 뒤 출력한다. 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.Inpu.. 2023. 3. 15.