본문 바로가기
코딩 테스트/swea

육십갑자

by ornni 2024. 12. 20.
728x90
반응형

첫번째 코드

 

먼저 헷갈리지 않게 input을 잘 정리해서 집어넣는다.

그리고 나는 이 문제를 읽고 나머지를 생각하였다.

최대로 나올 수 있는 문자열의 개수는 n * m개이다.

 

문제의 조건에서 n, m의 최대수는 20으로 최대 400개까지 나오므로 그렇게 큰 수가 아니라고 판단하였고, 질문에 어떤 숫자가 나올지 모르므로 모두 만들고 골라쓰는 식으로 진행하면 편할 것 같다는 생각이 들었다.

 

그래서 나는 만들 수 있는 모든 문자열을 작성한 후 str_list라는 리스트 안에 저장하였다.

이후 question의 숫자를 n * m으로 나눈 후 "나머지 - 1"의 위치에 해당하는 문자열을 불러오는 식으로 진행하였다.

(이때 나머지가 0인 경우는 마지막 문자열 이므로 이를 따로 취급해주자!)

 

test_case = int(input())
 
for test in range(test_case):
 
    n, m = map(int, input().split())
    s = list(map(str, input().split()))
    t = list(map(str, input().split()))
    q = int(input())
 
    questions = []
    for _ in range(q):
        question = int(input())
        questions.append(question)
     
    answer = ''
    str_list = []
    S = s * m
    T = t * n
 
    for i in range(n * m):
        word = S[i] + T[i]
        str_list.append(word)
     
    for j in questions:
        left = j % (n * m)
 
        if left == 0:
            answer += str_list[-1]
        else:
            answer += str_list[left - 1]
         
        answer += ' '
         
    print(f'#{test+1} {answer}')

 

사실 for test in range(test_case):에서 test 대신에 t로 하여 오류가 나서 원인을 한참 찾았다...

문제에 t가 있는줄 모르고 그대로 정의해서 ㅋㅋㅋ....

변수 주의하자 ㅎㅎ;

 

통과!


링크

https://github.com/ornni/programmers/tree/main/SWEA/D3/19185.%E2%80%85%EC%9C%A1%EC%8B%AD%EA%B0%91%EC%9E%90

 

programmers/SWEA/D3/19185. 육십갑자 at main · ornni/programmers

repository for recording Programmers Algorithm problem solving - ornni/programmers

github.com

 

반응형

'코딩 테스트 > swea' 카테고리의 다른 글

회문의 회문  (0) 2024.12.27
식료품 가게  (0) 2024.12.23
증가하는 사탕 수열  (0) 2024.12.16
방울 마술  (2) 2024.12.13
구구단 걷기  (0) 2024.12.06