-
[Java 자바] 프로그래머스 Lv 0 - 모스부호 (1)Study/Java 2024. 10. 24. 11:44728x90반응형
코딩테스트 연습 | 프로그래머스 스쿨
개발자 취업의 필수 관문 코딩테스트를 철저하게 연습하고 대비할 수 있는 문제를 총망라! 프로그래머스에서 선발한 문제로 유형을 파악하고 실력을 업그레이드해 보세요!
school.programmers.co.kr
목차
1. 문제 설명
728x90문제 설명
머쓱이는 친구에게 모스부호를 이용한 편지를 받았습니다.
그냥은 읽을 수 없어 이를 해독하는 프로그램을 만들려고 합니다.
문자열 letter가 매개변수로 주어질 때,
letter를 영어 소문자로 바꾼 문자열을 return 하도록 solution 함수를 완성해보세요. 모스부호는 다음과 같습니다.morse = {'.-':'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'}
제한사항
- 1 ≤ letter의 길이 ≤ 1,000
- return값은 소문자입니다.
- letter의 모스부호는 공백으로 나누어져 있습니다.
- letter에 공백은 연속으로 두 개 이상 존재하지 않습니다.
- 해독할 수 없는 편지는 주어지지 않습니다.
- 편지의 시작과 끝에는 공백이 없습니다.
2. 입출력 예시
입출력 예시
#1
.... = h
. = e
.-.. = l
.-.. = l
--- = o
따라서 "hello"를 return 합니다.#2
.--. = p
-.-- = y
- = t
.... = h
--- = o
-. = n
따라서 "python"을 return 합니다.a ~ z에 해당하는 모스부호가 순서대로 담긴 배열입니다.
{".-","-...","-.-.","-..",".","..-.","--.","....","..",".---","-.-",".-..","--","-.","---",".--.","--.-",".-.","...","-","..-","...-",".--","-..-","-.--","--.."}
3. 문제 풀이
반응형문제 풀이
1. 배열 mos를 만들어 모스부호를 배열 형태로 저장한다.
2. 배열 alpha를 만들어 알파벳 소문자를 a부터 z까지 배열 형태로 저장한다.
3. 배열 split을 반들어 문자열 letter를 공백을 기준으로 나누어 배열 형태로 저장한다. (각 모스부호를 개별적으로 처리하기 위해)
4. for 문을 통해서 split의 배열 길이만큼 반복한다.
5. for 문을 통해서 알파벳 길이만큼 반복하며, 현재 모스부호와 똑같은 모스부호를 찾아서, 해당 알파벳을 answer에 추가한다.
6. 최종 answer를 반환한다.
class Solution { public String solution(String letter) { String answer = ""; String mos[] = {".-","-...","-.-.","-..",".","..-.","--.","....","..",".---","-.-",".-..","--","-.","---",".--.","--.-",".-.","...","-","..-","...-",".--","-..-","-.--","--.."}; String alpha[] = "abcdefghijklmnopqrstuvwxyz".split(""); String split[] = letter.split(" "); for(int i=0; i<split.length; i++){ for(int j=0; j<26; j++){ if(split[i].equals(mos[j])){ answer += alpha[j]; } } } return answer; } }
728x90반응형'Study > Java' 카테고리의 다른 글
[Java 자바] 프로그래머스 Lv 0 - 구슬을 나누는 경우의 수 (0) 2024.10.25 [Java 자바] 프로그래머스 Lv 0 - 가위 바위 보 (0) 2024.10.25 [Java 자바] 프로그래머스 Lv 0 - 개미 군단 (0) 2024.10.23 [Java 자바] 프로그래머스 Lv 0 - 순서쌍의 개수 (0) 2024.10.22 [Java 자바] 프로그래머스 Lv 0 - 진료순서 정하기 (0) 2024.10.21