문제 현수는 영희에게 알파벳 대문자로 구성된 비밀편지를 매일 컴퓨터를 이용해 보냅니다. 비밀편지는 현수와 영희가 서로 약속한 암호로 구성되어 있습니다. 비밀편지는 알파벳 한 문자마다 # 또는 *이 일곱 개로 구성되어 있습니다. 만약 현수가 “#*****#”으로 구성된 문자를 보냈다면 영희는 현수와 약속한 규칙대로 다음과 같이 해석합니다. 1. “#*****#”를 일곱자리의 이진수로 바꿉니다. #은 이진수의 1로, *이진수의 0으로 변환합니다. 결과는 “1000001”로 변환됩니다. 2. 바뀐 2진수를 10진수화 합니다. “1000001”을 10진수화 하면 65가 됩니다. 3. 아스키 번호가 65문자로 변환합니다. 즉 아스크번호 65는 대문자 'A'입니다. 참고로 대문자들의 아스키 번호는 'A'는 65번,..
문제 알파벳 대문자로 이루어진 문자열을 입력받아 같은 문자가 연속으로 반복되는 경우 반복되는 문자 바로 오른쪽에 반복 횟수를 표기하는 방법으로 문자열을 압축하는 프로그램을 작성하시오. 단 반복횟수가 1인 경우 생략합니다. 입력 첫 줄에 문자열이 주어진다. 문자열의 길이는 100을 넘지 않는다. 출력 첫 줄에 압축된 문자열을 출력한다. 예시 입력 KKHSSSSSSSE 예시 출력 K2HS7E 예시 입력 KSTTTSEEKFKKKDJJGG 예시 출력 KST3SE2KFK3DJ2G2 문제 풀이 [첫번째 풀이] import java.util.Scanner; public class Main { public static void main(String[] args){ Scanner scanner = new Scanner(..
문제 한 개의 문자열 s와 문자 t가 주어지면 문자열 s의 각 문자가 문자 t와 떨어진 최소거리를 출력하는 프로그램을 작성하세요. 입력 첫 번째 줄에 문자열 s와 문자 t가 주어진다. 문자열과 문자는 소문자로만 주어집니다. 문자열의 길이는 100을 넘지 않는다. 출력 첫 번째 줄에 각 문자열 s의 각 문자가 문자 t와 떨어진 거리를 순서대로 출력한다. 예시 입력 teachermode e 예시 출력 1 0 1 2 1 0 1 2 2 1 0 문제 풀이 [첫번째 풀이] import java.util.Scanner; public class Main { public static void main(String[] args){ Scanner scanner = new Scanner(System.in); String in..
문제 문자와 숫자가 섞여있는 문자열이 주어지면 그 중 숫자만 추출하여 그 순서대로 자연수를 만듭니다. 만약 “tge0a1h205er”에서 숫자만 추출하면 0, 1, 2, 0, 5이고 이것을 자연수를 만들면 1205이 됩니다. 추출하여 만들어지는 자연수는 100,000,000을 넘지 않습니다. 입력 첫 줄에 숫자가 썩인 문자열이 주어집니다. 문자열의 길이는 100을 넘지 않습니다. 출력 첫 줄에 자연수를 출력합니다. 예시 입력 g0en2T0s8eSoft 예시 출력 208 문제 풀이 [첫번째 풀이] import java.util.Scanner; public class Main { public static void main(String[] args){ Scanner scanner = new Scanner(Sy..