inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

38군데 합격 비법, 2026 코딩테스트 필수 알고리즘

4-9. 4주차 끝 & 숙제 설명

4주차 숙제 질문

해결된 질문

105

snoapple3

작성한 질문수 4

0

4-9 숙제 질문

 

안녕하세요! 청소 관련 문제에서 아래처럼 했는데 무한루프에 빠집니다.. 어디가 잘못된건지 모르겠어서 질문드려요!

감사합니다!

def get_count_of_departments_cleaned_by_robot_vacuum(r, c, d, room_map):
    r_real = r
    c_real = c
    dr = [-1,0,1,0]
    dc = [0,1,0,-1]
    d_real = d
    count = 1
    room_map[r][c] = 2

    while True :
      stop = 0
      while stop < 4:
        for i in range(4):
          d_real = (d_real+3)%4
          r_fake = r_real + dr[d_real]
          c_fake = c_real + dc[d_real]
          if room_map[r_fake][c_fake] == 0 :
            count +=1
            r_real = r_fake
            c_real = c_fake
            room_map[r_fake][c_fake] = 2
            stop = 0
            break
          else:
            stop += 1 
      
      d_real = (d_real+6)%4
      r_real = r_real + dr[d_real]
      c_real = c_real + dc[d_real]

      if room_map[r_real][c_real] == 1:
        break

    return count

python 코딩-테스트 알고리즘 data-structure

답변 1

0

딩코딩코

안녕하세요 sonapple3 님 좋은 질문해주셔서 감사합니다!

 

해당 코드 중간에 stop 을 출력하도록 해보니, stop 이 항상 0이 되는 것 같습니다.

코드를 봤을 때는 아마 아래 코드의 break 문에 의해 for 문을 나가게 되면, 다시 for 문을 무한으로 호출하는 구조로 되어있어서 이와 같이 동작하는 것으로 보입니다!

if room_map[r_fake][c_fake] == 0:
    count += 1
    r_real = r_fake
    c_real = c_fake
    room_map[r_fake][c_fake] = 2
    stop = 0
    break

한 번 디버그 모드 혹은 print 문을 이용해서 어떤 부분을 고쳐야 하는지 찾아가 보시는 걸 추천드립니다!

image.png

새로운 코드로 풀이해보시는 모습이 너무 보기 좋습니다!! 또 질문 달아주세요 ㅎ.ㅎ

수강평 이벤트

0

34

2

코딩테스트 처음인데 이런 공부방법이어도 괜찮을까요

0

70

2

3-3 정렬-2 선택정렬 로직

0

43

2

링크드 리스트 끝에서 k번째 값 출력하기

0

46

2

LinkedList 과제 Fast, slow 포인터

0

50

2

투포인터 시간복잡도

0

53

2

수강평 작성 후 자료

0

53

2

수업교재 링크 오류

2

114

2

프로그래머스에서 제출 후 채점시 틀림ㅠ

0

133

2

1-10 알고리즘 더 풀어보기(2) 질문 있습니다

0

76

2

문제 풀이 방식 관련 질문입니다!

0

88

2

1-5 알고리즘과 친해지기 (2) - 최빈값찾기 질문 있습니다

0

94

2

수업자료 pdf 받고싶습니다

0

108

2

강의 자료 오류 수정

0

75

1

2-10 더하거나 빼거나 관련 질문입니다

0

63

2

3-8 해쉬 -2

0

49

2

Linked List Element Delete Explanation Problem

0

69

2

강의3-4 스택 탑 문제

0

74

2

코드스니펫 입출력 케이스에 오류가 있는것 같아요

0

100

3

링크드 리스트 원소 찾기 구현 방식 질문드립니다.

0

76

2

1874 - 스택 문항

0

81

2

DP Java 예제 자료형 오버플로우 문제

0

100

2

4-9 4주차 숙제중 농심라면 문제

0

111

2

DFS 에서 스택을 사용하는 이유

1

187

3