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

2026. 3. 10. 17:33·Algorithm

문제

 

틀렸던 코드

def solution(babbling):
    cnt = 0
    can_speak = ['aya', 'ye', 'woo', 'ma']
    #babbling에 있는 단어들을 탐색
    for word in babbling :
    #발음할 수 있는 단어들을 탐색
        for s in can_speak :
            if word.find(s) !=  -1 : #발음할 수 있는 단어가 있을시에
                word = word.replace(s, "") # 특정 단어를 replace
        if len(word) == 0 :
            cnt += 1
            
    return cnt

 

- 이렇게 로직을 짰었는데, 틀렸다. "wyeoo"의 경우에, woo가 연결되어있지 않지만 위의 코드를 사용하면 'ye'가 지워졌을때 'woo'가 붙어있는 것으로 인식되어 지워진다... 다른 방법을 찾아봐야겠다.

 

풀이

 

def solution(babbling):
    cnt = 0
    can_speak = ['aya', 'ye', 'woo', 'ma']
    for word in babbling :
        for s in can_speak :
            if word.find(s) !=  -1 :
            #공백 대신 1로 대체 후, 1을 추후에 제거
                word = word.replace(s, "1")
        word = word.replace("1", "")
        if len(word) == 0 :
            cnt += 1
            
    return cnt

 

- 생각보다 고민을 오래 했는데, 쉬운 방법으로 해결이 되었다 ! 공백으로 초기화 해서 문제가 발생했다면, 다른 문자 (여기서는 1)로 초기화하고 추후에 그 문자를 제거하면서 위의 생겼던 오류를 해결할 수 있었다.

 

- 풀이 정리

  1. 발음할 수 있는 단어들 리스트로 초기화
  2. 입력으로 들어온 단어들을 쭉 반복
  3. 발음 할 수 있는 단어를 특정 다른 문자(여기서는 1) 로 replace
  4. 추후 문자 제거
  5. 발음할 수 있는 단어였다면, 111 이런 형식으로 문자열이 되어있다가 word.replace("1", "")에서 빈 문자열이 되었을 것이므로, word가 존재한다면 발음할 수 없는 단어이다.
  6. 따라서 word가 존재하지 않을 때 cnt + 1, cnt 반환

 

※Github

 

https://github.com/jaeheonki/BackJoon-Programmers/tree/main/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120956.%E2%80%85%EC%98%B9%EC%95%8C%EC%9D%B4%E2%80%85%EF%BC%881%EF%BC%89

'Algorithm' 카테고리의 다른 글

[프로그래머스] 햄버거 만들기  (1) 2026.03.16
[프로그래머스] 둘만의 암호  (1) 2026.03.16
[프로그래머스] 겹치는 선분의 길이  (0) 2026.03.10
[프로그래머스] 평행  (0) 2026.03.10
[LeetCode] 2327. Number of People Aware of a Secret  (0) 2026.03.03
'Algorithm' 카테고리의 다른 글
  • [프로그래머스] 햄버거 만들기
  • [프로그래머스] 둘만의 암호
  • [프로그래머스] 겹치는 선분의 길이
  • [프로그래머스] 평행
uj07096
uj07096
개발블로그 시작 !
  • uj07096
    김재헌 님의 블로그
    uj07096
  • 전체
    오늘
    어제
    • 분류 전체보기 N
      • Algorithm
      • My IT
        • Article
        • Codes
      • TIL
      • My Projects N
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

    파이썬
    Tensor
    머신러닝
    YOLO
    convolution
    Algorithm
    transfer learning
    LSTM
    ResNet
    GAN
    데이터전처리
    optuna
    python
    Stack
    Faster R-CNN
    EfficientNet
    프로그래머스
    LeetCode
    EDA
    til
    코딩테스트
    DeepLearning
    autoencoder
    코테
    이상치
    DenseNet
    AI
    kaggle
    PyTorch
    딥러닝
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
uj07096
[프로그래머스] 옹알이(1)
상단으로

티스토리툴바