백준 11504 돌려돌려 돌림판

나는야 멋쟁이·2023년 3월 15일
0

입력이 마음에 안들었던 문제.. x, y값을 왜 따로떨어뜨려서 문자열로 주는지 모르겠다. 그 덕분에 라인만 늘어났다

문제에서 핵심은 i+m이 list의 길이를 넘어갔을 경우 앞에서부터 다시 선택해야 한다는 점이다. k값에 담아서 처리했다

test = int(input())

for _ in range(test):
    n, m = map(int, input().split(" ")) ##n = 리스트 길이, m = 자리수
    x = input().split(" ")
    y = input().split(" ")
    x = int(''.join(x))
    y = int(''.join(y))
    lis = list(map(str, input().split(" ")))

    res = []
    cnt = 0

    for i in range(len(lis)):
        st = ''
        if i + m - 1 < len(lis):
            st += ''.join(lis[i:i+m])
        else:
            k = i+m - n
            st += ''.join(lis[i:])
            st += ''.join(lis[:k])

        res.append(st)

    res = map(int, res)
    for r in res:
        if x <= r <= y:
            cnt += 1

    print(cnt)
profile
열심히 개발공부하기

0개의 댓글