728x90

https://codingdojang.com/scode/469?answer_mode=hide 

 

코딩도장

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

codingdojang.com

 

모스부호 해독

 

  • 모스부호 .... .  ... .-.. . . .--. ...  . .- .-. .-.. -.-- 를 해석하기
  • 모스부호 표는 다음과 같다

 

String word = ".... .  ... .-.. . . .--. ...  . .- .-. .-.. -.--";

String[] morse = {".-", "-...", "-.-.", "-..", ".", "..-.", "--.", "....", 
		  "..", ".---", "-.-", ".-..", "--", "-.", "---", ".--.",
      	   	  "--.-", ".-.", "...", "-", "..-", "...-", ".--", "-..-", "-.--", "--.."};

String[] alp = {"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"};

word = word.replaceAll("  ", " & ");			//"스페이스바 두번(__)"을 " & "으로 모두 전환
System.out.println(word);			
String[] mcode = word.split(" ");			//mcode의 값을 스페이스바를 기점으로 분할하기
for (int i = 0; i < mcode.length; i++) {		//나누어진 mcode의 길이만큼 반복
	for (int j = 0; j < morse.length; j++) {	
		if (mcode[i].equals(morse[j])) {	//mcode와 값이 같은 morse의 index 찾기
			System.out.print(alp[j]);	//morse와 같은 index 인 alp값 출력
			break;
		} 
	}
	if(mcode[i].equals("&")) {			//mcode의 값이 &일때
		System.out.print(" ");			//스페이스바(_) 출력
	}
}

[실행 결과]

.... . & ... .-.. . . .--. ... & . .- .-. .-.. -.--

HE SLEEPS EARLY

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

Spiral Array  (0) 2021.07.13
문자열 압축하기  (0) 2021.07.13
CamelCase를 Pothole_case 로 바꾸기!  (0) 2021.07.13

+ Recent posts