P.S0
dev.log
P.S0
전체 방문자
오늘
어제
  • 분류 전체보기 (42)
    • 프로그래밍(Programming) (28)
      • JavaScript (3)
      • Git (5)
      • React (4)
      • Vue (2)
      • Java (3)
      • 알고리즘 (7)
      • Python (1)
      • SQL (2)
    • TIL (7)
    • 프로젝트 (Project) (5)
      • BTP Project (3)
      • TRPG ASSISTANT (0)
      • OPEN_AI (2)
      • TISTORY (0)

블로그 메뉴

  • 홈
  • 💻Github
  • 📄 Velog
  • 태그
  • 방명록

공지사항

인기 글

태그

  • javascript
  • Til

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
P.S0

dev.log

프로그래밍(Programming)/알고리즘

프로그래머스 : 옹알이(1)

2022. 11. 7. 15:29
728x90

문제 설명

머쓱이는 태어난 지 6개월 된 조카를 돌보고 있습니다. 조카는 아직 "aya", "ye", "woo", "ma" 네 가지 발음을 최대 한 번씩 사용해 조합한(이어 붙인) 발음밖에 하지 못합니다. 문자열 배열 babbling이 매개변수로 주어질 때, 머쓱이의 조카가 발음할 수 있는 단어의 개수를 return하도록 solution 함수를 완성해주세요.


제한사항

  • 1 ≤ babbling의 길이 ≤ 100
  • 1 ≤ babbling[i]의 길이 ≤ 15
  • babbling의 원소에서 "aya", "ye", "woo", "ma"는 각각 최대 한 번씩만 등장합니다.
  • 문자열은 알파벳 소문자로만 이루어져 있습니다.

풀이 코드

class Solution {
    public int solution(String[] babbling) {
        int answer = 0;

        String[] availableWord = {"aya", "ye", "woo", "ma"};

        // 가능한 발음 찾기
        for(int i = 0; i < babbling.length; i++){
            for(String word : availableWord){
                babbling[i] = babbling[i].replace(word, " ");
            }

            //모든 공백 제거
            if(babbling[i].replaceAll(" ","").equals("")) {answer ++;}
        }

        return answer;
    }
}

풀이 방법

요약 : replace를 이용해 babbling 발음을 교체하여, babbling 외의 발음 유무를 구별해낸다.

  1. babbling에서 availableWord를 찾은 후, replace를 이용하여 " "(공백 1칸)으로 교체한다.
  • ""을 사용할 시, awooya 같은 경우 awooya > aya > `` 식으로 교체되어 오류가 생긴다. 그러므로 별개의 특수문자나 공백을 이용하여 단어가 붙는 현상을 예방한다.
  1. 모든 availableWord를 교체한 후, 공백(특수문자) 외에 다른 발음이 있는지 확인한다.
    2.1. replace(All) 을 이용하여 모든 공백(특수문자)를 ""로 교체한다.
      만약 공백(특수문자)뿐이면 결과가 ""가 되고, ""가 아닐 경우 발음할 수 없는 babbling이라는 의미이다.
    2.2. 공백(특수문자)는 = "", = Null 이 아니라, .equlas를 이용해야한다!
     (이 점을 잊어버리고 답이 나오지 않아 한참을 헤맸다. ㅠㅠ)
728x90

'프로그래밍(Programming) > 알고리즘' 카테고리의 다른 글

프로그래머스 : 스킬트리  (0) 2022.12.21
프로그래머스 : 완주하지 못한 선수  (0) 2022.11.15
다음에 올 숫자  (0) 2022.11.09
[프로그래머스] 평행  (0) 2022.11.02
백준 1157  (0) 2022.10.24
    '프로그래밍(Programming)/알고리즘' 카테고리의 다른 글
    • 프로그래머스 : 완주하지 못한 선수
    • 다음에 올 숫자
    • [프로그래머스] 평행
    • 백준 1157
    P.S0
    P.S0
    이전도 부지런함이다 그냥 살아보겠습니다.

    티스토리툴바