개키우는개발자 : )

[자바 알고리즘] 영어단어 복구 본문

Algorithm Programming/Java

[자바 알고리즘] 영어단어 복구

DOGvelopers 2020. 1. 8. 21:59
반응형

광고 클릭은 개발자(저) 에게 큰 힘이 됩니다!!'ㅁ'

 

| 문제

현수의 컴퓨터가 바이러스에 걸려 영어단어가 뛰어쓰기와 대소문자가 혼합되어 표현된다. 예를 들면 아름다운 이란 뜻을 가지고 있는 beautiful 단어가 “bE au T I fu L” 과 같이 컴퓨터에 표시되고 있습니다. 위와 같이 에러로 표시되는 영어단어를 원래의 표현대로 공백을 제거하고 소문자화 시켜 출력하는 프로그램을 작성하세요.

 

| 입력설명

바이러스에 걸린 영어단어가 주어진다. 바이러스에 걸린 영어단어의 길이(공백포함)는 100을 넘지 않는다. 문자사이의 공백은 연속적으로 존재할 수 있습니다. 입력은 알파벳과 공 백만 주어집니다.

 

| 출력설명

소문자로 된 정상적인 영어단어를 출력한다.

 

| 입력 예제

bE     au T I   fu    L

 

| 출력 예제

beautiful

 

| 풀이

 

공백을 먼저 체크 후 65~90은 대문자 A~Z 이며 대문자 에 32를 더해주면 아스키 코드상 소문자가 된다. 대소문자 변경해주는 메소드가 있지만 사용하지 않음.

import java.util.Scanner;

public class Test7 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String str = sc.nextLine();
        char[] a = str.toCharArray();
        char[] b = new char[101];
        int i, p=0;
        for(i=0; i<a.length; i++){
            if(a[i] != ' '){
                if(a[i]>=65 && a[i] <= 90){
                    b[p++] = (char) (a[i]+32);
                }else {
                    b[p++] = a[i];
                }
            }
        }
        System.out.println(String.valueOf(b));
    }
}

결과

 

반응형
Comments