본문 바로가기
Study or Lecture/항해 99클럽 코딩테스트 스터디

99클럽 코딩테스트 스터디 4일차 TIL (비기너)

by yoondoo 2024. 10. 31.
728x90

<오늘의 학습 키워드>

- Map

- Array

<오늘의 문제>

제목 : 2021 카카오 채용연계형 인턴십 - 숫자 문자열과 영단어

<풀이>

정답은 더보기

더보기
import java.util.Map;

class Solution {
    
    private static Map<String, Integer> map = Map.of("zero",0,
            "one",1,"two",2,"three",3,"four",4,"five",5,"six",6,"seven",7,
             "eight",8,"nine",9);
    
    public int solution(String s) {
        
        for (String key : map.keySet()) {
            if (s.contains(key)) {
                s = s.replaceAll(key, String.valueOf(map.get(key)));
            }
        }

        return Integer.parseInt(s);
    }
}

 

 

- Map과 Array 중 고민하다가 Map을 사용해보았다.

- map의 keySet들을 순회하면서 파라미터로 받은 s의 문자열에 key가 포함되어있는지 확인

- 포함 되어있다면 replaceAll(key, key의 value값)을 이용해 변경해 주었다.

 

<결론, 주의할점>

- IDE 도움없이 풀어보자.

- Collection이나 하위 구현체들의 구조나 메소드들을 잘 이해하고 있어야겠다.

- String에서 replace와 관련된 메소드나 매개변수들을 잘 이해하고 있어야겠다.

반응형

댓글