Monday_July_6
.
.
.
return_index ํจ์์ ์ซ์ ๋ฆฌ์คํธ์ ํน์ ์๋ฅผ ์ธ์๋ก ๋๊ธฐ๋ฉด,
์ซ์ ๋ฆฌ์คํธ์ ์ด๋ ํ ๊ฐ + ์ซ์ ๋ฆฌ์คํธ์ ๋ค๋ฅธ ์ด๋ ํ ๊ฐ์ ๋ํด์ ํน์ ์๊ฐ ๋์ค๋
์ด๋ ํ ๊ฐ๋ค์ index๋ฅผ ๋ฐฐ์ด์ ๋ด์ returnํ๊ธฐ.nums: ์ซ์ ๋ฐฐ์ด
target: ๋ ์๋ฅผ ๋ํด์ ๋์ฌ ์ ์๋ ํฉ๊ณ
return: ๋ ์์ index๋ฅผ ๊ฐ์ง ์ซ์ ๋ฐฐ์ด์๋ฅผ ๋ค์ด,
nums๋ [4, 9, 11, 14]
target์ 13 ์ด๋ผ๊ณ ๊ฐ์ ์ ํ์ ๋,4 + 9 = 13
4๋ nums[0], 9๋ nums[1] ์ด๋๊น
return ํ ๋ฐฐ์ด์๋ [0, 1]์ด return ๋์ด์ผ ํ๋ค.โ๏ธ target์ผ๋ก ๋ณด๋ด๋ ํฉ๊ณ์ ์กฐํฉ์, ๋ฐฐ์ด ์ ์ฒด ์ค์ ๋ฌด์กฐ๊ฑด ํ๋๋ง ์กด์ฌํ๋ค.
# ํจ์ ์ ์ def return_index(nums, target): for num1 in nums: # ์ฒซ ๋ฒ์งธ for ๋ฌธ์์ ์์์ index๋ฅผ ๊ธฐ์ตํ๋ค. first_nums_index = nums.index(num1) # ๋ ๋ฒ์งธ for๋ฌธ์ ํจ์จ์ ์ผ๋ก ๋๋ฆฌ๊ธฐ ์ํด ์ฒซ ๋ฒ์งธ ๋ฐฐ์ด์ ์์์ ๋ค์ ์์๋ถํฐ for๋ฌธ์ ๋๋ฆฐ๋ค. for num2 in nums[first_nums_index:]: # ๊ทธ๋์ ์ฒซ ๋ฒ์งธ for๋ฌธ์ ์์ index๋ฅผ ๊ธฐ์ตํด ์ค ๊ฒ์ด๋ค. if num1 + num2 == target: # ํฉ์ด target์ ๊ฐ๊ณผ ๊ฐ๋ค๋ฉด, # list๋ผ๋ ๋ฐฐ์ด์ ๋ ๊ฐ์ index๋ฅผ ๋ฃ์ด์ค๋ค. list = [nums.index(num1), nums.index(num2)] return list
๋๋ ์์ ์ฝ๋์ ๊ฐ์ด ํ์๋๋ฐ, ์ฐพ์๋ณด๋ for๋ฌธ ์์ฒด์์ value๊ฐ ์๋, index์ ๊ฐ์
๊ฐ์ ธ์ฌ ์๋ ์์๋ค.
๋ฐ๋ก Enumerate ๋ผ๋ ํจ์๋ฅผ ์ด์ฉํ ๊ฒ์ด๋ค.
enumerate ํจ์์ ์ฌ์ฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ๋ค.
์ฒซ ๋ฒ์งธ ๋ณ์ ์๋ฆฌ์๋ index๊ฐ,
๋ ๋ฒ์งธ ๋ณ์ ์๋ฆฌ์๋ value์ ๊ฐ์ด ์จ๋ค.๋ฐ๋ผ์ ๋ค์๊ณผ ๊ฐ์ ์ฝ๋๋ฅผ ์ถ๋ ฅํ๋ฉด
str = "wecode" for a, b in enumerate(str): print(a, b)
๊ฒฐ๊ณผ๋ ๋ค์๊ณผ ๊ฐ๋ค.
0 w 1 e 2 c 3 o 4 d 5 e
์์ enumerate ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ๋ค์ ์ฝ๋๋ฅผ ์์ฑํด ๋ดค๋ค.
def return_index(nums, target): for i1, num1 in enumerate(nums): # 1 first_nums_index = nums.index(num1) for i2, num2 in enumerate(nums[first_nums_index:]): # 2 if num1 + num2 == target: list = [i1,i2] # 3 return list
์๊น์ ๋ค๋ฅธ์ ์ # 1, 2, 3 ๋ถ๋ถ์ด๋ค.
#1์ i1์ด๋ผ๋ ๋ณ์์ num1์ index ๊ฐ์ ๊ธฐ์ตํ๋๋ก ํ์๊ณ
#2๋ i2๋ผ๋ ๋ณ์์๋ num2์ index ๊ฐ์ ๊ธฐ์ตํ๋๋ก ํ์๊ณ
#3์๋ ์๊น์๋ ๋ค๋ฅด๊ฒ ๊ธธ๊ฒ ์ฃผ์๋ index์ ๊ฐ์ i1๊ณผ i2๋ก ๋ฃ์ด์ฃผ์๋ค.