Lv 2. [3차] 압축

2024. 6. 30. 23:09·Algorithm & Data Structures/Programers

 

 

Map의 containsKey를 이용하여 탐색 속도를 최소화 하고자 하였다. 

import java.util.*;

class Solution {
    public ArrayList<Integer> solution(String msg) {
        ArrayList<Integer> answer = new ArrayList<>();
        HashMap<String,Integer> dic = new HashMap<>();

        for(int i = 0 ; i < 26; i++){
            dic.put(String.valueOf((char)('A'+i)),i+1);
        }
        String a = "";
        int dicIndex=27;
        for(int i = 0 ; i<msg.length(); i++){
            String c = String.valueOf(msg.charAt(i));
            if(dic.containsKey(a+c)){
                a+=c;
                continue;
            }
            dic.put(a+c,dicIndex++);
            answer.add(dic.get(a));
            a=c;

        }
        if (!a.equals("")) {
            answer.add(dic.get(a));
        }
        return answer;
    }
}

String

-valueOf(c) : c를 String으로 변환

'Algorithm & Data Structures > Programers' 카테고리의 다른 글

Lv 2. 뒤에있는 큰수 찾기  (0) 2024.07.02
Lv 2. 모음사전  (0) 2024.07.01
Lv 2. N진수게임  (0) 2024.06.28
Lv 2. 괄호 회전하기  (0) 2024.06.26
Lv 2. 게임 맵 최단거리  (0) 2024.06.23
'Algorithm & Data Structures/Programers' 카테고리의 다른 글
  • Lv 2. 뒤에있는 큰수 찾기
  • Lv 2. 모음사전
  • Lv 2. N진수게임
  • Lv 2. 괄호 회전하기
Geisha
Geisha
개발 일기
  • Geisha
    Geisha
    Geisha
  • 전체
    오늘
    어제
    • 분류 전체보기 (315) N
      • Algorithm & Data Structures (237) N
        • BOJ (95) N
        • SWEA (1)
        • Programers (137)
        • Data Structures (3)
      • DB (25)
        • SQL (19)
        • RDBMS (2)
      • Java (1)
        • Class (1)
      • Spring (5)
        • Spring MVC (1)
        • Annotations (1)
      • CS (36)
        • 운영체제 (13)
        • 네트워크 (5)
      • Tool (6)
        • Git (5)
        • AWS (1)
      • Project (1)
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

    골드
    이분탐색
    algorithm
    DynamicProgramming
    경로압축
    구현
    dp
    SQL
    unionfind
    binarySearch
    프로그래머스
    다익스트라
    백트래킹
    투포인터
    스택
    후위순회
    전위순회
    programmers
    백준
    동적계획법
    Dijkstra
    BFS
    PriorityQueue
    baekjoon
    dfs
    유니온파인드
    알고리즘
    Java
    Union-Find
    Stack
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
Geisha
Lv 2. [3차] 압축
상단으로

티스토리툴바