[programmers] 단어 변환 (python)

2024. 7. 5. 11:22·Study/algorithm
728x90
반응형

https://school.programmers.co.kr/learn/courses/30/lessons/43163

 

프로그래머스

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

programmers.co.kr


최단 시간을 구해야 하기 때문에 BFS를 사용해서 풀이하였다.

많이 어렵진 않은 문제


from collections import deque

# 두 단어 사이 다른 글자 개수 확인
def check(word1, word2):
    cnt = 0
    for i in range(len(word1)):
        if word1[i] != word2[i]:
           cnt += 1
    return cnt
    
def solution(begin, target, words):
    answer = 0
    
    # 만약 words에 목표 단어가 없다면 바로 0 반환
    if target not in words:
        return 0
    
    # BFS 진행
    q = deque()
    q.append((begin, 0))
    
    while q:
        n_word, times = q.popleft()
        if n_word == target:
            return times
        
        # 모든 단어를 보면서 바꿀 수 있는 단어라면 바꾸기
        for word in words:
            change = check(word, n_word)
            if change == 1:
                q.append((word, times + 1))
728x90
반응형

'Study > algorithm' 카테고리의 다른 글

[백준] 11726번: 2×n 타일링 (python)  (0) 2024.07.11
[백준] 1463번: 1로 만들기 (python)  (0) 2024.07.11
[programmers] 부대복귀 (python)  (0) 2024.07.04
[programmers] 양과 늑대 (python)  (0) 2024.07.04
[programmers] 요격 시스템 (python)  (0) 2024.07.03
'Study/algorithm' 카테고리의 다른 글
  • [백준] 11726번: 2×n 타일링 (python)
  • [백준] 1463번: 1로 만들기 (python)
  • [programmers] 부대복귀 (python)
  • [programmers] 양과 늑대 (python)
성장형감자
성장형감자
공부 기록
    반응형
  • 성장형감자
    단순하게
    성장형감자
  • 전체
    오늘
    어제
    • Category (66)
      • Paper review (38)
        • 2D Object detection (11)
        • 3D Object detection (20)
        • 2D Segmentation (1)
        • 2D Classification (5)
        • 3D classification (1)
      • Programming (4)
        • Python (1)
        • Linux (3)
      • Project (0)
      • Study (24)
        • algorithm (20)
        • etc. (1)
        • Radar (3)
  • 인기 글

  • 블로그 메뉴

    • 홈
  • 250x250
  • hELLO· Designed By정상우.v4.10.0
성장형감자
[programmers] 단어 변환 (python)
상단으로

티스토리툴바