โ๏ธ ๋ฌธ์
์์ -> ์คํ -> cmd๋ฅผ ์ณ๋ณด์. ๊ฒ์ ํ๋ฉด์ด ๋์ ๋ณด์ธ๋ค. ์ฌ๊ธฐ์ dir์ด๋ผ๊ณ ์น๋ฉด ๊ทธ ๋๋ ํ ๋ฆฌ์ ์๋ ์๋ธ๋๋ ํ ๋ฆฌ์ ํ์ผ์ด ๋ชจ๋ ๋์จ๋ค. ์ด๋ ์ํ๋ ํ์ผ์ ์ฐพ์ผ๋ ค๋ฉด ๋ค์๊ณผ ๊ฐ์ด ํ๋ฉด ๋๋ค.
dir *.exe๋ผ๊ณ ์น๋ฉด ํ์ฅ์๊ฐ exe์ธ ํ์ผ์ด ๋ค ๋์จ๋ค. "dir ํจํด"๊ณผ ๊ฐ์ด ์น๋ฉด ๊ทธ ํจํด์ ๋ง๋ ํ์ผ๋ง ๊ฒ์ ๊ฒฐ๊ณผ๋ก ๋์จ๋ค. ์๋ฅผ ๋ค์ด, dir a?b.exe๋ผ๊ณ ๊ฒ์ํ๋ฉด ํ์ผ๋ช ์ ์ฒซ ๋ฒ์งธ ๊ธ์๊ฐ a์ด๊ณ , ์ธ ๋ฒ์งธ ๊ธ์๊ฐ b์ด๊ณ , ํ์ฅ์๊ฐ exe์ธ ๊ฒ์ด ๋ชจ๋ ๋์จ๋ค. ์ด๋ ๋ ๋ฒ์งธ ๋ฌธ์๋ ์๋ฌด๊ฑฐ๋ ๋์๋ ๋๋ค. ์๋ฅผ ๋ค์ด, acb.exe, aab.exe, apb.exe๊ฐ ๋์จ๋ค.
์ด ๋ฌธ์ ๋ ๊ฒ์ ๊ฒฐ๊ณผ๊ฐ ๋จผ์ ์ฃผ์ด์ก์ ๋, ํจํด์ผ๋ก ๋ญ ์ณ์ผ ๊ทธ ๊ฒฐ๊ณผ๊ฐ ๋์ค๋์ง๋ฅผ ์ถ๋ ฅํ๋ ๋ฌธ์ ์ด๋ค. ํจํด์๋ ์ํ๋ฒณ๊ณผ "." ๊ทธ๋ฆฌ๊ณ "?"๋ง ๋ฃ์ ์ ์๋ค. ๊ฐ๋ฅํ๋ฉด ?์ ์ ๊ฒ ์จ์ผ ํ๋ค. ๊ทธ ๋๋ ํ ๋ฆฌ์๋ ๊ฒ์ ๊ฒฐ๊ณผ์ ๋์จ ํ์ผ๋ง ์๋ค๊ณ ๊ฐ์ ํ๊ณ , ํ์ผ ์ด๋ฆ์ ๊ธธ์ด๋ ๋ชจ๋ ๊ฐ๋ค.
๐ค ์ ์ถ๋ ฅ ์์
๐ก ํ์ด
์์ด๋์ด 1) True/False ๋ฐฐ์ด ํ์ฉ
์ฒ์์๋ ํ์ผ๋ช ๊ธธ์ด๋งํผ True/False ๋ฐฐ์ด์ ๋ง๋ค๊ณ ์ฒซ ๋ฒ์งธ ํ์ผ๋ช ๊ณผ ๋๋จธ์ง ํ์ผ๋ช ์ ๋น๊ตํ๋ฉด์ ๊ฐ์ ์์น&๊ฐ์ ๊ธ์์ผ ๊ฒฝ์ฐ๋ง True, ์๋๋ฉด False๋ก ๋ฐ๊ฟ ์ฃผ๋ ๋ฐฉ์์ ์ฌ์ฉํ๋ค.
T = int(input())
filenames = []
for _ in range(T):
filenames.append(input())
standard = filenames[0]
check = [False]*len(standard)
answer = ""
for i in range(0, len(filenames)):
for j in range(i+1, len(filenames)):
for idx, (a, b) in enumerate(zip(filenames[i], filenames[j])):
if a == b:
check[idx] = True
else:
if check[idx]:
check[idx] = False
for idx in range(0, len(check)):
if check[idx]:
answer += standard[idx]
else:
answer += "?"
if T == 1:
answer = filenames[0]
elif len(standard) == 1:
answer = "?"
print(answer)
๋ค์ ๋ณด๋๊น ์ฝ๋๊ฐ ์ฐธ ์ง์ ๋ถํ๊ตฐ!^^
๊ทธ๋ฐ๋ฐ ์ด ๋ฐฉ์์ผ๋ก ์งํํ๋๊น '์์ ์ ๋ ฅ 1'์ config.sys์ configures์ ์๋ ๋ง์ง๋ง s์ฒ๋ผ ๋ช ๊ฐ์ ํ์ผ๋ช ์๋ง ์๋ ์ํ๋ฒณ๋ ๊ณตํต ํจํด์ผ๋ก ์ถ๋ ฅ๋ผ์ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ ์๊ฐํด๋ณด๊ธฐ๋ก ํ๋ค.
์์ด๋์ด 2) ๋ฌธ์ ๋ฑ์ฅ ๋น๋ ํ์ธ ๋ฐฐ์ด ํ์ฉ
์ฒซ ๋ฒ์งธ ์ฝ๋๋ก 'ํ๋ ธ์ต๋๋ค'๋ฅผ ๋ฐ๊ณ ๋์ ๋ฌธ์ ๋ฅผ ๋ค์ ์ฝ์ด ๋ณด๋ค๊ฐ, ?๊ฐ ์๋ ์ํ๋ฒณ์ผ๋ก ์ถ๋ ฅ๋๊ธฐ ์ํด์๋ ๊ฐ ์๋ฆฌ์ ์ํ๋ฒณ์ด ์ ํํ N๋ฒ ๋์์ผ ํ๋ค๋ ์ฌ์ค์ ๋ฐ๊ฒฌํ๋ค.
๋๋ ์ด ์์ด๋์ด์์๋ ์ฒซ ๋ฒ์งธ ํ์ผ๋ช ์ ๊ธฐ์ค์ผ๋ก ์๊ฐํ๊ธฐ ๋๋ฌธ์ ์ต์ข ์ ์ผ๋ก๋ ๋ฌธ์ ๋ฑ์ฅ ๋น๋ ํ์ธ์ฉ ๋ฐฐ์ด์ i๋ฒ์งธ ์์๊ฐ N-1์ธ ๊ฒฝ์ฐ๋ง ์ํ๋ฒณ์ ์ถ๋ ฅํ๊ณ ๊ทธ ์ธ์ ๊ฒฝ์ฐ๋ ๋ชจ๋ ๋ฌผ์ํ๋ฅผ ์ถ๋ ฅํด์ฃผ๋ฉด ๋๋ค.
T = int(input())
filenames = []
answer = ""
for _ in range(T):
filenames.append(input())
standard = filenames[0]
check = [0]*len(standard)
for i in range(1, len(filenames)):
for j in range(0, len(standard)):
if filenames[i][j] == standard[j]:
check[j] += 1
for k in range(0, len(standard)):
if check[k] == T-1:
answer += standard[k]
else:
answer += "?"
print(answer)
'Problem Solving > BOJ & Programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[BOJ] 2607๋ฒ: ๋น์ทํ ๋จ์ด (0) | 2024.10.18 |
---|---|
[BOJ] Bronze ๋ฌธ์ ํ์ด ๋ชจ์ (1) (1) | 2024.10.17 |
[BOJ] 1002๋ฒ: ํฐ๋ (0) | 2024.10.03 |
[BOJ] 1065๋ฒ: ํ์ (1) | 2024.09.28 |
[BOJ] 2667๋ฒ: ๋จ์ง๋ฒํธ๋ถ์ด๊ธฐ (0) | 2024.09.27 |