-
[D3] SWEA 19185. 육십갑자SWEA 2024. 4. 27. 04:16
1. 접근 방식
문제를 천천히 읽어보고
예시 문에 있는 n=10,m=12의
예시를 표처럼 쭉 늘어트리고 작성해보았다.
1,2,3,4,2018,2019,2020에 해당하는 문자열을 보았다.
여기서 느낌이 왔다.
이거 숫자%10,숫자%12에 해당하는 문자열이겠구나!
2. 디테일한 구현
처음에는 인덱스가 1부터 10, 1부터 12니까
문자열 리스트에 s.insert(0,0) 이런 식으로
0번째 원소에 0을 넣고 인덱스를 1부터 다룰려했다.
하지만, 크나큰 문제가 발생했다.
문제는 숫자%10,숫자%12을 했을 때 0이 나올 때
인덱스 10,12가 아니라 인덱스 0을 가리켜 오답이 나왔다.
해결 방법
인덱스는 0부터 시작이니까
단순히 숫자%10,숫자%12에 -1을 해주면 되겠다
생각을 하였다.
그 결과 10,12의 배수 일 때 나머지가 0이고 -1을 해주면
s[-1]이 됨으로써 마지막 원소를 가리키게 되면서
해결이 되었다.
3. 코드 구현
1234567891011121314151617181920212223if __name__=='__main__':# sys.stdin=open('input2.txt','r')t=int(input()) ## 총 테스트 케이스 개수for tc in range(t):n,m=map(int,input().split())front=list(map(str,input().split()))back=list(map(str,input().split()))q=int(input()) ##알고 싶은 년도 q개print(f'#{tc+1}', end=' ')for qc in range(q):y=int(input()) ##알고 싶은 년도res=''res+=front[y%n-1]+back[y%m-1]print(res,end=' ')print()cs 4. 깨달은 점
인덱스를 0부터 다루도록 하자
1부터 다루려는 요행(?)은 부리지 말자
'SWEA' 카테고리의 다른 글
[D3] SWEA 19003. 팰린드롬 문제 (0) 2024.04.27 [D3] SWEA 19113. 식료품 가게 (0) 2024.04.27 [D3] SWEA 20019. 회문의 회문 (0) 2024.04.27 [D3] SWEA 20551. 증가하는 사탕 수열 (0) 2024.04.27 [D3] SWEA 16910. 원 안의 점 (0) 2024.04.27