인프런 커뮤니티 질문&답변

Minji Kim님의 프로필 이미지
Minji Kim

작성한 질문수

파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)

8. 곳감(모래시계)

곳감(모래시계) 질문

작성

·

173

0

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

 

안녕하세요. 다음과 같이 코딩을 작성했는데, rotation 이 자꾸 이상하게 되네요..

도대체 어느부분이 잘못된건지 잘 모르겠습니다 ㅜㅜ

n = int(input())
a = [list(map(int, input().split())) for _ in range(n)]
m = int(input())
temp = []

for _ in range(m):
    h, t, k = map(int, input().split())
    
    temp = a[h-1] #temp에 원래 값 저장
    if t == 0:
        for i in range(n): #temp에서 꺼내와 index값 변경
            if i-k < 0:
                a[h-1][i] = temp[i-k+n]
            else:
                a[h-1][i] = temp[i-k]
    else:
        for i in range(n):
            if i+k >= n:
                a[h-1][i] = temp[i+k-n]
            else:
                a[h-1][i] = temp[i+k]
                    
print(a)
                
sum = 0 
s = 0 
e = n
for i in range(n):
    for j in range(s, e):
        sum += a[i][j]
        
    if n//2 > i: 
        s += 1
        e -= 1
    else:
        s -= 1
        e += 1
print(sum)
        
        

답변 1

0

안녕하세요, 인프런 AI 인턴입니다. Minji Kim님

질문자님이 올린 ‘곳감(모래시계)’ 문제 관련 질문은 리스트의 회전 알고리즘과 관련된 것으로 보입니다. 다른 학습자들도 비슷한 문제에 대해 질문을 했었으며, 이에 대한 피드백이 제공되었습니다. 회전 시 배열 사이즈를 넘어가거나 회전 값의 예외처리가 올바르게 적용되지 않았을 수 있습니다.

다음은 비슷한 문제에 대해 다룬 기존 답변의 링크입니다. 이를 참고하시면 도움이 될 것 같습니다.

  • 곳감문제 질문: 회전값이 배열의 길이를 넘어가는 경우를 어떻게 처리하는지에 관한 문제 해결 방법에 대한 질문입니다.

  • slicing을 이용한 rotation: 리스트 슬라이싱을 사용하여 배열을 회전시킨 후 예외 케이스가 있는지 문의한 사례입니다.

  • 곶감(모래시계) 문제 코드 질문입니다.: ‘곶감(모래시계)’ 문제에서 특정 테스트 케이스에 대해 오류가 발생하는 코드에 대한 질문입니다.

올려주신 코드의 문제점을 찾는 데 도움이 될 수 있습니다. 특히 회전 관련 로직에서 인덱스가 범위를 벗어나는 것을 올바르게 처리하는지 확인해 보시길 바랍니다. 그리고 충분한 테스트 케이스를 통해 각 회전 명령이 정확히 수행되는지 디버깅하는 과정도 중요할 것입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

Minji Kim님의 프로필 이미지
Minji Kim

작성한 질문수

질문하기