99클럽 코테 스터디 16일차 모음사전

2024. 8. 7. 09:38·스터디/99클럽 코테 스터디 TIL

📝 문제

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

🔥 시도해본 접근 방식

일단 문제에서 말하는 사전이란 것을 구현하여 탐색하기로 하였다.

Map 을 선언하여 key는 단어, value는 인덱스를 갖도록 구성한다.

단순하게 문자별로 반복문을 돌려서 사전을 만들었는데 이렇게 하다보니 5중 반복문이 되어서 시간초과가 발생하겠거니 하고 일단 제출하였는데 통과해서 당황스러웠다.

 

✨ 성공 코드

import java.util.HashMap;
import java.util.Map;

class Solution {
    public int solution(String word) {
        String[] d = new String[]{"A", "E", "I", "O", "U"};

        Map<String, Integer> map = new HashMap<>();

        int order = 1;

        for (int i = 0; i < d.length; i++) {
            map.put(d[i], order++);
            for (int j = 0; j < d.length; j++) {
                map.put(d[i] + d[j], order++);
                for (int k = 0; k < d.length; k++) {
                    map.put(d[i] + d[j] + d[k], order++);
                    for (int l = 0; l < d.length; l++) {
                        map.put(d[i] + d[j] + d[k] + d[l], order++);
                        for (int m = 0; m < d.length; m++) {
                            map.put(d[i] + d[j] + d[k] + d[l] + d[m], order++);
                        }
                    }
                }
            }
        }

        return map.get(word);
    }
}

이 문제는 다른 효율적인 방법을 추가로 공부하고 다른 사람의 풀이도 좀 봐야겠다.

 

더보기
import java.lang.Math;

class Solution {
    public int solution(String word) {
        int answer = word.length();
        int pos;
        for(pos = 0; pos < word.length(); pos ++){
            char c = word.charAt(pos);
            if(c=='A') continue;
            int temp = 0;
            for(int i = 0; i <= 4-pos; i++){
                temp += Math.pow(5,i);
            }
            answer += temp*val(c);
        }
        return answer;
    }

    public int val(char c){
        if(c=='E') return 1;
        else if(c=='I') return 2;
        else if(c=='O') return 3;
        else return 4;
    }
}

'스터디 > 99클럽 코테 스터디 TIL' 카테고리의 다른 글

99클럽 코테 스터디 18일차 단지번호붙이기  (0) 2024.08.09
99클럽 코테 스터디 17일차 촌수계산 [작성중]  (0) 2024.08.08
99클럽 코테 스터디 15일차 prefix-and-suffix-search  (0) 2024.08.06
99클럽 코테 스터디 14일차 TIL 숫자 카드2  (0) 2024.08.04
99클럽 코테 스터디 13일차 TIL 숫자 카드  (0) 2024.08.04
'스터디/99클럽 코테 스터디 TIL' 카테고리의 다른 글
  • 99클럽 코테 스터디 18일차 단지번호붙이기
  • 99클럽 코테 스터디 17일차 촌수계산 [작성중]
  • 99클럽 코테 스터디 15일차 prefix-and-suffix-search
  • 99클럽 코테 스터디 14일차 TIL 숫자 카드2
Been
Been
  • Been
    Been
    Been
  • 전체
    오늘
    어제
    • 분류 전체보기 (60)
      • 언어 (0)
        • Kotlin (0)
      • 안드로이드 (17)
      • iOS (3)
      • Git (1)
      • 스터디 (39)
        • 알고리즘 문제 풀이 (1)
        • 99클럽 코테 스터디 TIL (38)
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

    객체변환
    java
    아이폰
    깃
    RecyclerView
    IOS
    WRITE EXTERNAL
    쓰기권한
    Androiod
    nsl
    안드로이드
    TIL
    자바
    99클럽
    Android
    리싸이클러뷰
    개발자취업
    항해99
    FragmentStateAdapter
    debugRuntimeClasspath
    코딩테스트준비
    Coroutines
    NSR
    언더라인 제거
    AndroidID
    EditText
    풀이실패
    maxWidth
    Git
    밑줄제거
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
Been
99클럽 코테 스터디 16일차 모음사전
상단으로

티스토리툴바