문제 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. 입력 첫째 줄에 알파벳 대소문자로 이루어진 단어가 주어진다. 주어지는 단어의 길이는 1,000,000을 넘지 않는다. 출력 첫째 줄에 이 단어에서 가장 많이 사용된 알파벳을 대문자로 출력한다. 단, 가장 많이 사용된 알파벳이 여러 개 존재하는 경우에는 ?를 출력한다. 예제 입력 1 복사 Mississipi 예제 출력 1 복사 ? 예제 입력 2 복사 zZa 예제 출력 2 복사 Z 예제 입력 3 복사 z 예제 출력 3 복사 Z 예제 입력 4 복사 baaa 예제 출력 4 복사 A import java.io.BufferedReader; import..
문제 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열에는 몇 개의 단어가 있을까? 이를 구하는 프로그램을 작성하시오. 단, 한 단어가 여러 번 등장하면 등장한 횟수만큼 모두 세어야 한다. 입력 첫 줄에 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 공백 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 문자열은 공백으로 시작하거나 끝날 수 있다. 출력 첫째 줄에 단어의 개수를 출력한다. 예제 입력 1 복사 The Curious Case of Benjamin Button 예제 출력 1 복사 6 예제 입력 2 복사 The first character is a blank 예제 출력 2 복사 6 예제 입력 3 복사 ..
문제 두 정수 A와 B를 입력받은 다음, A/B를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 A와 B가 주어진다. (0 < A, B < 10) 출력 첫째 줄에 A/B를 출력한다. 실제 정답과 출력값의 절대오차 또는 상대오차가 10-9 이하이면 정답이다. 예제 입력 1 복사 1 3 예제 출력 1 복사 0.33333333333333333333333333333333 10-9 이하의 오차를 허용한다는 말은 꼭 소수 9번째 자리까지만 출력하라는 뜻이 아니다. 예제 입력 2 복사 4 5 예제 출력 2 복사 0.8 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.A..
문제 두 정수 A와 B를 입력받은 다음, A-B를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 A와 B가 주어진다. (0 < A, B < 10) 출력 첫째 줄에 A-B를 출력한다. 예제 입력 1 3 2 예제 출력 1 1 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.OptionalInt; import java.util.Scanner; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws..
이 게시글은 알고리즘의 문제를 풀고 생각나는 꿀팁들을 계속 수정할 예정이다. Arrays.sort() 배열을 오름차순 또는 내림차순으로 정렬할 때 사용됩니다. 원시 타입 배열뿐만 아니라, 객체 배열도 정렬할 수 있습니다. Collections.sort() 컬렉션(예: List, Set)을 오름차순 또는 내림차순으로 정렬할 때 사용됩니다. Comparable 또는 Comparator 인터페이스를 구현한 객체를 요소로 갖는 컬렉션을 정렬할 수 있습니다. StringBuilder 또는 StringBuffer 문자열 연산이 많이 필요한 경우, 문자열을 더 효율적으로 처리할 수 있는 StringBuilder 또는 StringBuffer 클래스를 사용할 수 있습니다. 문자열을 변경하거나 연결할 때 사용하면 성능 향..