알고리즘/코딩도장

모스부호 해독

개발계발게발 2021. 5. 28. 09:05
반응형

코딩도장 - 모스부호 해독

모스부호 해독

 

import java.util.Scanner;

public class Morse {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);

//		char[] alpha = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm',	// 모스부호로 변환시 문제
//                'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'};
		String[] alpha = {"a","b","c","d","e","f","g","h","i","j",
                "k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"};
		String[] morse = { ".-", "-...", "-.-.", "-..", ".", "..-.", "--.", "....", "..", ".---", "-.-", ".-..", "--",
				"-.", "---", ".--.", "--.-", ".-.", "...", "-", "..-", "...-", ".--", "-..-", "-.--", "--..", " " };
		System.out.print("모스부호를 입력하세요 : ");
		String str = sc.nextLine();
		String[] strArr = str.split("  ");	//단어와 단어 분리
		strArr= str.split(" ");	// 단어 분리
		System.out.print("모스부호 해독 : ");
		for (int i = 0; i < strArr.length; i++) {
			for (int j = 0; j < morse.length; j++) {
				if (strArr[i].equals(morse[j])) {
					System.out.print(alpha[j]);
				}
			}
			if(strArr[i].isEmpty()){ //단어 공백 체크
			System.out.print("_");
			}			
		}
//		System.out.println("\n문장을 입력하세요 : ");	//모스 부호로 변환 예
//		String input = sc.nextLine();
//		String[] inputArr = input.split(" ");	// 단어 분리
//
//		for (int i = 0; i < inputArr.length; i++) {
//			for (int j = 0; j < alpha.length; j++) {
//				if (inputArr[i].equals(alpha[j])) {
//					System.out.print(morse[j]);
//				}
//			}
//			if(inputArr[i].isEmpty()){ //단어 공백 체크
//			System.out.print("  ");
//			}			
//		}		
		sc.close();
	}
}

 

https://codingdojang.com/scode/469

 

코딩도장

프로그래밍 문제풀이를 통해서 코딩 실력을 수련

codingdojang.com

 

반응형

'알고리즘 > 코딩도장' 카테고리의 다른 글

문자열 압축하기  (0) 2021.05.28
CamelCase를 Pothole_case로 바꾸기!  (0) 2021.05.28
타노스의 핑거 스냅  (0) 2021.05.28
다음 입사문제 중에서  (0) 2021.05.28
시저 암호 풀기  (0) 2021.05.28