[프로그래머스][java] lv 0 모스부호(1)

2024. 11. 21. 15:11·코테/java

1. 문제 설명

 

 

 

2. 나의 풀이


import java.util.HashMap;
import java.util.Map;
class Solution {
    public String solution(String letter) {
         Map<String, String> morse = new HashMap<>();
        
        morse.put(".-", "a");
        morse.put("-...", "b");
        morse.put("-.-.", "c");
        morse.put("-..", "d");
        morse.put(".", "e");
        morse.put("..-.", "f");
        morse.put("--.", "g");
        morse.put("....", "h");
        morse.put("..", "i");
        morse.put(".---", "j");
        morse.put("-.-", "k");
        morse.put(".-..", "l");
        morse.put("--", "m");
        morse.put("-.", "n");
        morse.put("---", "o");
        morse.put(".--.", "p");
        morse.put("--.-", "q");
        morse.put(".-.", "r");
        morse.put("...", "s");
        morse.put("-", "t");
        morse.put("..-", "u");
        morse.put("...-", "v");
        morse.put(".--", "w");
        morse.put("-..-", "x");
        morse.put("-.--", "y");
        morse.put("--..", "z");

        String[] splitLetters = letter.split(" ");
        StringBuilder answer = new StringBuilder();

        for (String key : splitLetters) 
        {
        	answer.append(morse.get(key));
        }

        return answer.toString();
    }
}

노가다로 풀었다

솔직히 모스부호 첨부터 hashmap으로 줘도 되는거아닌가.. 아니면 부호만 따로 배열로 주던가 ㅠㅠ

집어넣는거 매우 귀찮았음

3. 다른 사람의 풀이

class Solution {
    public String solution(String letter) {
        String answer = "";
        String[] morse = {".-","-...","-.-.","-..",".","..-.","--.","....","..",".---","-.-",".-..","--","-.","---",".--.","--.-",".-.","...","-","..-","...-",".--","-..-","-.--","--.."};
        String[] word = letter.split(" ");

        for(int i=0;i<word.length;i++){
            for(int j=0;j<morse.length;j++){
                if(word[i].equals(morse[j])) answer+=(char)(j+97);
            }
        }

        return answer;
    }
}

word가  morse 배열 안에 있으면 그 번지

그 번지(j)는 알파벳 순서이므로

+97을 더하면 자연수 => 알파벳

알파벳 아스키코드를 다시 char타입으로 answer에 넣어서 붙여주면 완성!

 

저작자표시 비영리 (새창열림)

'코테 > java' 카테고리의 다른 글

[프로그래머스][java] lv 0 n의 배수 고르기  (0) 2024.11.22
[프로그래머스][java] lv 0 구슬을 나누는 경우의 수  (1) 2024.11.22
[프로그래머스][java] lv 0 진료순서 정하기  (1) 2024.11.21
[프로그래머스][java] lv 0 가장 큰 수 찾기  (2) 2024.11.20
[프로그래머스][java] lv 0 배열 회전시키기  (1) 2024.11.20
'코테/java' 카테고리의 다른 글
  • [프로그래머스][java] lv 0 n의 배수 고르기
  • [프로그래머스][java] lv 0 구슬을 나누는 경우의 수
  • [프로그래머스][java] lv 0 진료순서 정하기
  • [프로그래머스][java] lv 0 가장 큰 수 찾기
니누고
니누고
주니어 개발괴발자
  • 니누고
    진땡이코딩조림
    니누고
  • 전체
    오늘
    어제
    • 분류 전체보기 (93)
      • 편안한코딩생활 (12)
        • 오류 해결 일지 (6)
        • 기타등등 (6)
      • 백 (23)
        • jsp (1)
        • spring boot (7)
        • spring (7)
        • 전자정부프레임워크 (8)
      • 프로젝트 (13)
        • 블로그 제작(중단) (12)
      • 프론트 (3)
        • javascript (3)
      • 데이터베이스 (6)
        • oracle (5)
        • 그 외 (1)
      • cs (6)
        • java (4)
        • cs (1)
        • C (1)
      • 코테 (26)
        • java (25)
        • sql (1)
      • 앱 (0)
        • flutter (0)
        • dart (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    배열 회전시키기
    apache
    가장 큰 수 찾기
    코딩테스트
    프로그래머스
    문자열 정렬하기
    오블완
    iBatis
    Oracle
    tomcat
    CRUD
    Eclipse
    배열
    SpringBoot
    대문자와소문자
    mod_jk.log
    oracle함수
    스프링의 기본 파싱전략
    egov
    2017팁스다운
    JPA
    티스토리챌린지
    Java
    전자정부프레임워크
    컴퓨터용량줄이기
    중복된 문자 제거
    함수
    jpa #springboot
    카카오 블라인드 채용
    spring
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
니누고
[프로그래머스][java] lv 0 모스부호(1)
상단으로

티스토리툴바