본문 바로가기

코딩테스트

(15)
Anagram 문제 Anagram이란 두 문자열이 알파벳의 나열 순서를 다르지만 그 구성이 일치하면 두 단어는 Anagram이라고 합니다. 예를 들면 AbaAeCe 와 baeeACA 는 알파벳을 나열 순서는 다르지만 그 구성을 살펴보면 A(2), a(1), b(1), C(1), e(2)로 알파벳과 그 개수가 모두 일치합니다. 즉 어느 한 단어를 재배열하면 상대편 단어가 될 수 있는 것을 아나그램이라 합니다. 길이가 같은 두 개의 단어가 주어지면 두 단어가 아나그램인지 판별하는 프로그램을 작성하세요. 아나그램 판별시 대소문자가 구분됩니다. 입력 예제 AbaAeCe baeeACA 출력 예제 YES 답 public class problem16 { public static void main(String[] args) { St..
소수의 개수 문제 자연수 N이 입력되면 1부터 N까지의 소수의 개수를 출력하는 프로그램을 작성하세요. 만약 20이 입력되면 1부터 20까지의 소수는 2, 3, 5, 7, 11, 13, 17, 19로 총 8개입니다. 제한시간은 1초입니다. 입력 예제 20 출력 예제 5 답 public class problem15 { public static void main(String[] args) { int input = 20; int cnt = 0; for(int i=2; i
뒤집은 소수 문제 N개의 자연수가 입력되면 각 자연수를 뒤집은 후 그 뒤집은 수가 소수이면 그 수를 출력하는 프로그램을 작성하세요. 예를 들어 32를 뒤집으면 23이고, 23은 소수이다. 그러면 23을 출력한다. 단 910를 뒤집으면 19로 숫자화 해야 한다. 첫 자리부터의 연속된 0은 무시한다. 입력 설명 첫 줄에 자연수의 개수 N(3
가장 많이 사용된 자릿수 문제 N자리의 자연수가 입력되면 입력된 자연수의 자릿수 중 가장 많이 사용된 숫자를 출력하는 프로그램을 작성하세요. 예를 들어 1230565625라는 자연수가 입력되면 5가 3번 상용되어 가장 많이 사용된 숫자입니다. 답이 여러 개일 경우 그 중 가장 큰 수를 출력하세요. 입력 예제 1230565625 출력 예제 5 답 public class problem13 { public static void main(String[] args) { String input = "1230565625"; int result = method(input); System.out.println(result); } public static int method(String input) { int[] array = new int[10..
숫자의 총 개수 문제 자연수 N이 입력되면 1부터 N까지의 자연수를 종이에 적을 때 각 숫자는 몇 개 쓰였을까요? 예를 들어 1부터 15까지는 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 0, 1, 1, 1, 2, 1, 3, 1, 4, 1, 5으로 총 21개가 쓰였음을 알 수 있습니다. 자연수 N이 입력되면 1부터 N까지 각 숫자는 몇 개가 사용되었는지를 구하는 프로그램을 작성하세요. 첫 번째 줄에는 자연수 N(3
자릿수의 합 문제 N개의 자연수가 입력되면 각 자연수의 자릿수의 합을 구하고, 그 합이 최대인 자연수를 출력하는 프로그램을 작성하세요. 입력 예제 5 125 15232 79 1325 97 출력 예제 97 답 public class problem10 { public static void main(String[] args) { int[] input = {125, 15232, 97, 1325, 79}; int result = method(input); System.out.println(result); } public static int method(int[] input) { int max = -1; int seq = 0; for(int i=0; i max || (sum==max && input[seq] 0) { sum +..
모두의 약수 문제 자연수 N이 입력되면 1부터 N까지의 각 숫자들의 약수의 개수를 출력하는 프로그램을 작성하세요. 만약 N이 8이 입력된다면 1(1개), 2(2개), 3(2개), 4(3개), 5(2개), 6(4개), 7(2개), 8(4개) 와 같이 각 숫자의 약수의 개수가 구해집니다. 출력은 다음과 같이 1부터 차례대로 약수의 개수만 출력하면 됩니다. 1 2 2 3 2 4 2 4 와 같이 출력한다. 입력 예제 8 출력 예제 1 2 2 3 2 4 2 4 답 import java.util.Arrays; public class problem09 { public static void main(String[] args) { int input = 8; String result = method2(input); System.out..
올바른 괄호 문제 괄호가 입력되면 올바른 괄호이면 “YES", 올바르지 않으면 ”NO"를 출력합니다. (())() 이것은 괄호의 쌍이 올바르게 위치하는 거지만, (()()))은 올바른 괄호가 아니다. 입력 예제 (()(()))(() 출력 예제 NO 답 public class problem08 { public static void main(String[] args) { String input = "(()(()))(()"; String input2 = "()()(()())"; String input3 = ")("; String result = method(input); String result2 = method(input2); String result3 = method(input3); System.out.println(..
영어단어 복구 문제 영어단어가 뛰어쓰기와 대소문자가 혼합되어 표현된다. 예를 들면 beautiful 단어가 “bE au T I fu L” 과 같이 표시된다. 에러로 표시되는 영어단어를 원래의 표현대로 공백을 제거하고 소문자화 시켜 출력하는 프로그램을 작성하세요. 입력 예제 bE au T I fu L 출력 예제 beautiful 답 public class problem07 { public static void main(String[] args) { String input = "bE au T I fu L"; String result = method(input); String result2 = method2(input); System.out.println(result); System.out.println(result2); ..
숫자만 추출 문제 문자와 숫자가 섞여있는 문자열이 주어지면 그 중 숫자만 추출하여 그 순서대로 자연수를 만듭니다. 만들어진 자연수와 그 자연수의 약수 개수를 출력합니다. 만약 “t0e0a1c2her”에서 숫자만 추출하면 0, 0, 1, 2이고 이것을 자연수를 만들면 12가 됩니다. 즉 첫 자리 0은 자연수화 할 때 무시합니다. 출력은 12를 출력하고, 다음 줄에 12의 약수의 개수를 출력하면 됩니다. 추출하여 만들어지는 자연수는 100,000,000을 넘지 않습니다. 입력 예제 g0en2Ts8eSoft 출력 예제 28 6 답 public class problem06 { public static void main(String[] args) { String a = "g0en2Ts8eSoft"; String result ..