코테/프로그래머스
[프로그래머스/Lv. 0] 모스부호 (1)
imname1am
2023. 2. 16. 15:16
반응형
내 코드 (틀림)
import java.util.*;
class Solution {
public String solution(String letter) {
String answer = "";
String[] strArr = letter.split(" ");
for(String s : strArr) {
if(s.equals("._")) answer += "a";
else if(s.equals("-...")) answer += "b";
else if(s.equals("-.-.")) answer += "c";
else if(s.equals("-..")) answer += "d";
else if(s.equals(".")) answer += "e";
else if(s.equals("..-.")) answer += "f";
else if(s.equals("--.")) answer += "g";
else if(s.equals("....")) answer += "h";
else if(s.equals("-...")) answer += "i";
else if(s.equals("..")) answer += "j";
else if(s.equals("-.-")) answer += "k";
else if(s.equals(".-..")) answer += "l";
else if(s.equals("--")) answer += "m";
else if(s.equals("-.")) answer += "n";
else if(s.equals("---")) answer += "o";
else if(s.equals(".--.")) answer += "p";
else if(s.equals("--.-")) answer += "q";
else if(s.equals(".-.")) answer += "r";
else if(s.equals("...")) answer += "s";
else if(s.equals("-")) answer += "t";
else if(s.equals("..-")) answer += "u";
else if(s.equals("...-")) answer += "v";
else if(s.equals(".--")) answer += "w";
else if(s.equals("-..-")) answer += "x";
else if(s.equals("-.--")) answer += "y";
else if(s.equals("--..")) answer += "z";
}
return answer;
}
}
딕셔너리 방식을 써볼까 하다가 먼저 노가다식으로 해보기로 했다.
근데 패스 못함..ㅋ
그래서 그냥 코드 값을 갖고 있는 배열을 만들고,
이 값과 비교해서 같으면 알파벳으로 만들어주기로함...
import java.util.*;
class Solution {
public String solution(String letter) {
String answer = "";
String[] strArr = letter.split(" ");
String[] codes = {".-","-...","-.-.","-..",".","..-.","--.","....","..",".---","-.-",".-..","--","-.","---",".--.","--.-",".-.","...","-","..-","...-",".--","-..-","-.--","--.."};
for(int i=0 ; i < strArr.length ; i++) {
for(int j=0 ; j < codes.length ; j++) {
if(strArr[i].equals(codes[j])) {
answer += (char)(j + 'a');
}
}
}
return answer;
}
}
· 'a' 대신 97 써도 됨.
[Java] ASCII (아스키코드)/ 문자 ↔ 숫자
ASCII: American Standard Code for Information Interchange, 미국 정보 교환 표준 부호) 예제)...
blog.naver.com
· (char) : 숫자를 문자로 변환
[Java] 아스키코드, 유니코드를 문자나 숫자로 변환하기
아스키코드 미국에서 표준화가 추진된 정보교환용 7bit 부호로 정의합니다. 1962년 안시(ANSI)가 정의한 미국 표준 정보교환 코드이며 1963년 미국표준협회(ASA)에 의해 결정되어 미국의 표준 부호가
coding-factory.tistory.com
값 치환하기,,,!!!
Map 쓸 생각도 했었는데 이 방법으로 구현한 다른 답도 있었다.
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
import java.util.Map;
import java.util.HashMap;
class Solution {
public String solution(String letter) {
String answer = "";
Map<String, String> morse = new HashMap<>(){
{
put(".-","a");
put("-...","b");
put("-.-.","c");
put("-..","d");
put(".","e");
put("..-.","f");
put("--.","g");
put("....","h");
put("..","i");
put(".---","j");
put("-.-","k");
put(".-..","l");
put("--","m");
put("-.","n");
put("---","o");
put(".--.","p");
put("--.-","q");
put(".-.","r");
put("...","s");
put("-","t");
put("..-","u");
put("...-","v");
put(".--","w");
put("-..-","x");
put("-.--","y");
put("--..","z");
}
};
String[] letters = letter.split(" ");
for(String str : letters){
answer += morse.get(str);
}
return answer;
}
}
홈짱닷컴
홈페이지 제작, 그누보드 강의, 웹코딩, HTML, CSS, JAVASCRIPT, JQUERY, PHP, SQL
homzzang.com
반응형