728x90
[๋ฌธ์ ๋งํฌ] ๐
SW Expert Academy
SW ํ๋ก๊ทธ๋๋ฐ ์ญ๋ ๊ฐํ์ ๋์์ด ๋๋ ๋ค์ํ ํ์ต ์ปจํ ์ธ ๋ฅผ ํ์ธํ์ธ์!
swexpertacademy.com
ํ์ด
๐ก์ ๋ ฅ๋ฐ์ Q ๋ฅผ N๊ณผ M์ ๊ธธ์ด๋ก ๋๋๋ค.
์ํ ๊ตฌ์กฐ
- ๋ฆฌ์คํธ s๋ ๊ธธ์ด๊ฐ N์ด๊ณ , ๋ฆฌ์คํธ t๋ ๊ธธ์ด๊ฐ M์ด๋ฏ๋ก, s์ t์ ์์๋ค์ ์ํํ๋ฉด์ ์ฌ์ฉ๋๋ค.
- ์๋ฅผ ๋ค์ด, ๋ฆฌ์คํธ s์ "a", "b", "c"๊ฐ ์๊ณ , ๋ฆฌ์คํธ t์ "d", "e", "f", "g"๊ฐ ์๋ค๋ฉด,
- ์ฒซ ๋ฒ์งธ ์ด๋ฆ์ s[0] + t[0] = "ad",
- ๋ ๋ฒ์งธ ์ด๋ฆ์ s[1] + t[1] = "be",
- ์ธ ๋ฒ์งธ ์ด๋ฆ์ s[2] + t[2] = "cf",
- ๋ค ๋ฒ์งธ ์ด๋ฆ์ ๋ค์ s[0] + t[3] = "ag"๋ก ๋์๊ฐ๋ค.
์ฃผ๊ธฐ์ ์ ๊ทผ๊ณผ ๋๋จธ์ง ์ฐ์ฐ
- q % N๊ณผ q % M์ ์ด์ฉํ๋ฉด, q๋ฒ์งธ ์์๋ฅผ N๊ณผ M์ ๊ธธ์ด ๋ด์์ ๋ฐ๋ณต์ ์ผ๋ก ์ํํ๋๋ก ๋ง๋ค ์ ์๋ค.
- ๋ฆฌ์คํธ์ ์ธ๋ฑ์ค๋ 0๋ถํฐ ์์ํ๋ฏ๋ก, q - 1๋ก ์กฐ์ ํ ๋ค N๊ณผ M์ผ๋ก ๋๋ ๋๋จธ์ง๋ฅผ ๊ตฌํด ์ธ๋ฑ์ค๋ฅผ ์ป์ด๋ธ๋ค
- ์๋ฅผ ๋ค์ด, Y = 5์ผ ๋ s์ ์ธ๋ฑ์ค๋ (Y - 1) % N = 4 % N์ด ๋๋ค.
- ์ด๋ฅผ ํตํด s์ t ๋ฆฌ์คํธ์ ์์๋ค์ด ์ํ๋๋ฉฐ, N๋ฒ์งธ ์ดํ์๋ ๋ค์ ์ฒซ ๋ฒ์งธ ์์๋ก ๋์๊ฐ๋ค.
์ฝ๋์์ q % N - 1
- ์ด ํํ์ ๋ฆฌ์คํธ์ ์ธ๋ฑ์ค๊ฐ 0๋ถํฐ ์์ํ๊ธฐ ๋๋ฌธ์ ํ์ํ ์กฐ์ ์ด๋ค.
- ์๋ฅผ ๋ค์ด, Y = 1์ด๋ผ๋ฉด, (1 - 1) % N = 0์ด ๋์ด s์ t ๋ฆฌ์คํธ์ ์ฒซ ๋ฒ์งธ ์์๊ฐ ๊ฒฐํฉ๋์ด์ผ ํ๋ฏ๋ก q - 1์ ํตํด 0๋ถํฐ ์์ํ๋ ์ธ๋ฑ์ค๋ฅผ ๋ง์ถ๋ค.
๋ฐ๋ผ์, q % N๊ณผ q % M์ ์ฌ์ฉํ์ฌ ๋ ๋ Y์ ํด๋นํ๋ ์ด๋ฆ์ ์ฃผ๊ธฐ์ ์ผ๋ก ๊ตฌํ ์ ์๋ค.
Solution
T = int(input()) # ํ
์คํธ ์ผ์ด์ค ์
for test_case in range(1, T + 1):
N, M = map(int, input().split())
n = input().split()
m = input().split()
Q = int(input())
result = []
# ์ก์ญ๊ฐ์ ๊ณ์ฐ
for _ in range(Q):
q = int(input())
result.append(n[q % N - 1] + m[q % M - 1])
print(f"#{test_case} {' '.join(result)}")
728x90
'๐งฉ Algorithm > SWEA' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [SWEA] 4299. ํํ์ด์ ์ฌ๋์ ํ์ด๋ฐ (Python/D3) (0) | 2024.11.04 |
|---|---|
| [SWEA] 15230. ์ํ๋ฒณ ๊ณต๋ถ (Python/D3) (0) | 2024.11.04 |
| [SWEA] 10912. ์ธ๋ก์ด ๋ฌธ์ (Python/D3) (0) | 2024.11.01 |
| [SWEA] 1222. [S/W ๋ฌธ์ ํด๊ฒฐ ๊ธฐ๋ณธ] 6์ผ์ฐจ - ๊ณ์ฐ๊ธฐ1 (Python/D4) (0) | 2024.10.31 |
| [SWEA] 13547. ํ์จ๋ฆ (Python/D3) (0) | 2024.10.30 |