www.acmicpc.net/problem/2908 2908번: 상수 상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두 www.acmicpc.net 세자리 수의 수가 첫 줄에 두개 주어집니다. 두 수는 공백으로 구분이 됩니다. 예제를 보면 734 893 이 들어옵니다. A 라는 수가 734고 B라는 수가 893가 됩니다. 734인 A를 거꾸로 437을 만들고 B도 398을 만듭니다. 그리고 이 두 수를 비교해서 큰 수를 출력하면 되는 문제입니다. import java.util.Scanner; class Main { public static void main(String..
www.acmicpc.net/problem/1152 1152번: 단어의 개수 첫 줄에 영어 대소문자와 띄어쓰기로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 띄어쓰기 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 www.acmicpc.net 브론즈 2 등급의 문제지만 엄청 간단한 문제입니다. 첫 줄에 문자열을 입력받습니다. 이 문자열은 대소문자로 된 영단어가 입력되는데, 구분은 공백으로 구분됩니다. 주의해야 할 점은 공백은 연속으로 나오지는 않지만 공백이 문자의 앞뒤에 있을 수도 있다는 것 입니다. 공백을 기준으로 단어들을 잘라서 그 단어들의 개수를 출력하면 되는 알고리즘 입니다. 두 방식으로 풀어 보았습니다. 1. StringTokenizer..
www.acmicpc.net/problem/1157 1157번: 단어 공부 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. www.acmicpc.net 이 문제는 첫 번째 단어를 입력 받아 그 단어 중에서 가장 많이 사용 된 알파벳이 어떤 것인지 대문자로 출력하는 프로그램이다. 주의할 점은 1. 가장 많이 사용된 알파벳이 여러개 존재하는 경우에는 '?' 를 출력한다. 2. 입력은 대소문자로 구성된 단어가 입력된다. 3. 출력은 대문자로 출력한다. ---------------------------------------제가 푼 전체 코드----------------------------------..
www.acmicpc.net/problem/2675 2675번: 문자열 반복 문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다 www.acmicpc.net 1. 이 문제는 테스트 케이스의 개수가 T개 만큼 주어집니다. 2. T 테스트 케이스는 숫자 문자열로 이루어져 있습니다. 3. 문자열에 문자 하나당 숫자만큼의 반복을 해서 새로운 문자열 P를 만들어 내라는 문제입니다. 예제처럼 3 ABC가 들어오면 A3번 B3번 C3번 씩 해서 새로운 문자열 AAABBBCCC를 만들어내면 됩니다. ------------------------------------전체 코..
www.acmicpc.net/problem/11720 11720번: 숫자의 합 첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다. www.acmicpc.net 예제처럼 처음에 숫자가 입력되고 그 숫자만큼의 개수로 숫자가 입력됩니다. 첫줄에 5가 입력되면 5개의 숫자가 다음줄에 공백없이 입력되는 것 입니다. 처음엔 StringToken을 사용하여 문자열로 읽어 사용할 계획이었으나 StringToken은 기본적으로 \t\n\r\t 이 기준으로 나눠지기 때문에 문자열로 읽어 한문자씩 가져오는 방법을 사용했습니다. import java.util.*; class Main { public static void main(String args[]) { Scanne..
www.acmicpc.net/problem/11654 11654번: 아스키 코드 알파벳 소문자, 대문자, 숫자 0-9중 하나가 주어졌을 때, 주어진 글자의 아스키 코드값을 출력하는 프로그램을 작성하시오. www.acmicpc.net 간단하게 문자 하나를 입력받고 그 문자를 아스키코드값으로 출력하는 문제입니다. import java.util.Scanner; class Main { public static void main(String args[]) { Scanner sc = new Scanner(System.in); int a = sc.next().charAt(0); System.out.println(a); } } Scanner로 입력을 받았습니다. Scanner는 next()로 입력받으면 문자열로 입력이..
www.acmicpc.net/problem/1065 1065번: 한수 어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 www.acmicpc.net 이 문제는 n개의 수가 주어졌을 때 그 수 까지의 한수가 몇 개 인지 출력하는 알고리즘 이다. 한수와 수학의 등차수열에 관련해 이해하면 풀기 쉬운 알고리즘이다. 등차수열은 123 처럼 백이십삼 이 아닌 숫자 1, 2 ,3 으로 보면 편하다. 123라는 수는 1씩 증가하는 등차수열이다. 124는 첫째 자리 '1' 과 두번째 자리 '2' 는 1씩 증가하나 두번째 자리 '2'와 세번째 자리 '4' 는 2가 차이나므로 한..
www.acmicpc.net/problem/4673 4673번: 셀프 넘버 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때, www.acmicpc.net 위에 셀프넘버의 설명을 읽어보면 만약 수가 13이라는 수가 있으면 13+1+3 (자기자신과 첫째자리+두째자리) = 17이다. 17은 셀프넘버가 아닌 것이다. 그래서 1부터 보면 1+1 = 2 이므로 2는 셀프넘버가 아닌 것 이다. 먼저 함수를 사용하지 않고 풀어 보았습니다. * Math.log10(n)+1 로 자리수를 쉽게 구할 수 있는 라이브러리도 있습니다. ..