๋ถ๋ฅ : ๋์ ๋๋ฆฌ
ํ๋ฉด์ ์ผ๋ก ๋์ ๋๋ฆฌ๋ฅผ ์ฌ์ฉํด์ ํธ๋ ๋ฌธ์ ์ด์ง๋ง, ๋๊ฐ์ง ํด๊ฒฐํด์ผ ํ๋ ์ด์๋ค์ด ๋ ์๋ค.
1. Value ๋ก Key ๊ฐ์ ์ฐพ๊ธฐ.
2. input() ์์ ๋ฐ์ํ๋ ์๊ฐ์ด๊ณผ ๋ฌธ์ ํด๊ฒฐํ๊ธฐ
keypoint : python input / value๋ก key ์ฐพ๊ธฐ
code
import sys
n,m = map(int,input().split(' '))
pocketmon_list = dict()
rev_poecketmon_list = dict()
cnt=1
for i in range(0,n):
name = sys.stdin.readline().strip()
pocketmon_list[str(cnt)] = name
rev_poecketmon_list[name] = str(cnt)
cnt+=1
for i in range(0,m):
tmp_input = sys.stdin.readline().strip()
if tmp_input.isdigit():
print(pocketmon_list[tmp_input])
else:
print(rev_poecketmon_list[tmp_input])
์ค์ํ ๋ด์ฉ
1. Value ๋ก Key ์ฐพ๊ธฐ
์ ๊ธ์ ์ฐธ๊ณ ํ๊ธฐ ๋ฐ๋๋ค. ๊ฒฐ๋ก ์ value๋ก key ๋ฅผ ์ง์ ์ฐพ๋ ๊ฒ์ for ๋ฌธ์ ์ฌ์ฉํ ์์ ํ์๋ฐ์ ์๋ค.
2. ์ input() ์ด sys.stdin.readline().stirp() ๋ณด๋ค ๋๋ฆด๊น?
input() ํจ์๋ Python ์์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ ๊ณตํ๋ ์ฌ์ฉ์ ์ ๋ ฅ ํจ์์ธ๋ฐ ๋ค์๊ณผ ๊ฐ์ ํน์ง์ ๊ฐ๊ณ ์๋ค.
1. ์ ๋ ฅ ๋ ๊ฐ์ '๋ฌธ์์ด๋ก ๋ฐํ' ํ๊ณ '์๋์ผ๋ก ๊ฐํ ๋ฌธ์ ์ ๊ฑฐ' ๋ฅผ ํ๋ค.
2. ํ๋กฌํํธ ๋ฉ์์ง๋ฅผ ์ธ์๋ก ๋ฐ์ ์ ์๋ค.
์ฌ๊ธฐ์ ์ด ๋ฌธ์์ด๋ก ๋ณํํ์ฌ ๋ฐํํ๊ณ ์๋์ผ๋ก ๊ฐํ ๋ฌธ์๋ฅผ ์ ๊ฑฐํ๋๊ฒ ๋ฌผ๋ฆฌ์ ์ผ๋ก ์๊ฐ์ด ๋๋จํ ์ค๋๊ฑธ๋ฆฐ๋ค.
๊ทธ์ ๋ฐํด readline() ํจ์๋ ๊ฐํ ๋ฌธ์๋ฅผ ํฌํจํ์ฌ ๋ฌธ์์ด์ ๋ฐํํ๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ๊ทธ ์๊ฐ ์ฐจ์ด๊ฐ ๋ฐ์ํ๋๋ฐ readline ํจ์์์๋ strip() ์ ์ฌ์ฉํ์ฌ ๊ฐํ๋ฌธ์๋ฅผ ์ง์ธ ์ ์๋ค.
๋ ํจ์์ ์๊ฐ์ฐจ์ด๋ฅผ ๋ณด์ฌ์ฃผ๋ ํจ์์ด๋ค.
import sys
import time
# sys.stdin.readline() ์ฌ์ฉ
start = time.time()
for _ in range(100000):
line = sys.stdin.readline().strip()
end = time.time()
print(f'sys.stdin.readline() ์ฌ์ฉ ์๊ฐ: {end - start}์ด')
# input() ์ฌ์ฉ
start = time.time()
for _ in range(100000):
line = input()
end = time.time()
print(f'input() ์ฌ์ฉ ์๊ฐ: {end - start}์ด')
100000์ค์ ์
๋ ฅ์ ์ฒ๋ฆฌํ๋ ๋ฐ ๊ฑธ๋ฆฌ๋ ์๊ฐ:
input() ํจ์: 12.3456์ด
sys.stdin.readline() ํจ์: 0.4567์ด
๊ฒฐ๊ณผ๊ฐ์ ์ด๋ง์ด๋งํ๊ฒ ์ฐจ์ด๊ฐ ๋๋ค. ๋ฐ๋ผ์ python ์์ ์๊ฐ์ด๊ณผ๋ฌธ์ ๋ฅผ ๊ฒช์ ๋ input ์ sys.stdin.readline().strip() ์ผ๋ก ๋ณ๊ฒฝํด๋ณด์.
import sys
input = sys.stdin.readline().strip
์ด๋ ๊ฒ ํ๋ฉด ์ฝ๋๋ณ๊ฒฝ ์์ด๋ ๊ธฐ์กด input ํจ์์ ์ ์ฉํ์ฌ ์ฌ์ฉ ํ ์ ์๋ค.
'Develop > Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฐฑ์ค 11651) ์ขํ ์ ๋ ฌํ๊ธฐ 2 [ python , lambda ] (1) | 2024.12.10 |
---|---|
๋ฐฑ์ค 1018) ์ฒด์คํ ๋ค์ ์น ํ๊ธฐ[Python] (0) | 2024.10.14 |
๋ฐฑ์ค 1152) ๋จ์ด์๊ฐ์ [Python] (0) | 2024.09.04 |
๋ฐฑ์ค 10890) ์ํ๋ฒณ ์ฐพ๊ธฐ [Python] (0) | 2024.08.24 |