๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๊ต์œก/์ŠคํŒŒ๋ฅดํƒ€

[TIL] ๋‚ด์ผ๋ฐฐ์›€์บ ํ”„ AI 9๊ธฐ - 14ํšŒ

by gomdeng 2024. 12. 17.

๐Ÿถ ํ•™์Šต ๋ฒ”์œ„

  • ํ•™์Šต๋ฐ˜ ๊ณผ์ œ (ํŒŒ์ด์ฌ)
  • ๋จธ์‹ ๋Ÿฌ๋‹ ํŠน๊ฐ•

 

๐Ÿถ ๊ณต๋ถ€ ๋‚ด์šฉ

โœจ ํ•™์Šต๋ฐ˜ ๊ณผ์ œ - ํŒŒ์ด์ฌ ๋ฌธ์ œ 40 (๊ธฐ๋ณธ)

โœ”๏ธ ์ˆ™์ œ - 8
# ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜์—ด์—์„œ 14๊ฐœ๋งŒ ์ถœ๋ ฅ
fibonacci = [0, 1]
for i in range(12):
    fibonacci.append(fibonacci[-2] + fibonacci[-1])
print(fibonacci)

โœ”๏ธ ์ˆ™์ œ - 10
# 1๋ถ€ํ„ฐ 100๊นŒ์ง€ 3๊ณผ 7์˜ ๋ฐฐ์ˆ˜๋งŒ ์ถœ๋ ฅ
answer = []
for n in range(1, 101):
    if (n % 3 == 0) or (n % 7 == 0):
        answer.append(n)
print(answer)

โœ”๏ธ ์ˆ™์ œ - 11
# numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# ํ™€์ˆ˜๋งŒ ์ƒˆ๋กœ์šด ๋ฆฌ์ŠคํŠธ์— ์ถ”๊ฐ€
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
odd_list = [v for v in numbers if v % 2 > 0]
print(odd_list)

โœ”๏ธ ์ˆ™์ œ - 12
# ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ์ˆซ์ž๋ฅผ ๋ฐ›์•„, ํŒฉํ† ๋ฆฌ์–ผ ๊ณ„์‚ฐ
input_n = int(input('ํŒฉํ† ๋ฆฌ์–ผ ์ˆ˜๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š”'))
answer = 1
for n in range(input_n, 0, -1):
    answer = answer * n
print(answer)    

โœ”๏ธ ์ˆ™์ œ - 25
# number = [1, 4, 4, 4, 4, 4, 4] ์— ์ค‘๋ณต ์ œ๊ฑฐ ํ›„ ์ถœ๋ ฅ
number = [1, 4, 4, 5, 4, 4, 4, 4, 5, 5, 5]
1. answer = list(set(number)) # set ์ˆœ์„œ ๋ณด์žฅ X
2. answer = list(dict.fromkeys(number)) # dict.fromkeys ์ˆœ์„œ ๋ณด์žฅ O
print(answer)

โœ”๏ธ ์ˆ™์ œ - 26
# number = [1, 4, 4, 4, 4, 4, 4, 5] ์—์„œ 5 ์ œ๊ฑฐ ํ›„ ์ถœ๋ ฅ
number = [1, 4, 4, 4, 4, 4, 4, 5]
1. number.remove(5) # ๊ฐ’์ด ์—†์œผ๋ฉด ValueError ๋ฐœ์ƒ
2. number = [n for n in number if n != 5]  # ์ปดํ”„๋ฆฌํ—จ์…˜ ๋ฐฉ์‹
print(number)

โœ”๏ธ ์ˆ™์ œ - 27
# number = [1, 2, 3, 4, 5]์—์„œ 3 ์ œ๊ฑฐ ํ›„ ๋‚˜๋จธ์ง€ ์š”์†Œ์˜ ํ‰๊ท  ๊ฐ’ ๊ตฌํ•ด์ฃผ์„ธ์š”
number = [1, 2, 3, 4, 5]
number.remove(3)
number_avg = sum(number) / len(number)  # ๋นˆ ๋ฐฐ์—ด์ธ ๊ฒฝ์šฐ ์˜ค๋ฅ˜ ๋ฐœ์ƒ
number_avg

# etc1. statistics ๋ชจ๋“ˆ ์‚ฌ์šฉ
import statistics

number = [1, 2, 3, 4, 5]
print(statistics.mean(number))

โœ”๏ธ ์ˆ™์ œ - 29
# number = [1, 4, 4, 4, 4, 4, 4. 5] ์—์„œ ์ค‘๋ณต๋œ ์š”์†Œ์˜ ๊ฐœ์ˆ˜ ์ถœ๋ ฅ
number = [1, 4, 4, 4, 4, 4, 4, 5, 5]

dupl_cnt = 0
for n in set(number):
    if number.count(n) > 1:
        dupl_cnt += 1

print(dupl_cnt)

โœ”๏ธ ์ˆ™์ œ - 30
# number = [1, 4, 4, 4, 4, 4, 4, 5] ์—์„œ ์š”์†Œ 4์˜ ์œ„์น˜(์ธ๋ฑ์Šค)๋ฅผ ์ถœ๋ ฅํ•˜์„ธ์š”
number = [1, 4, 4, 4, 4, 4, 4, 5, 4]

idx_arr = [i for i, v in enumerate(number) if v == 4]
print(idx_arr)

โœจ ํ•™์Šต๋ฐ˜ ๊ณผ์ œ - ํŒŒ์ด์ฌ ๋ฌธ์ œ 40 (๋ฆฌ์ŠคํŠธ/ํŠœํ”Œ)

โœ”๏ธ ์ˆ™์ œ - 31
# list_1 = [1, 2, 3]
# list_2 = [4, 5, 6]
# ์œ„์˜ ๋‘๊ฐœ์˜ ๋ฆฌ์ŠคํŠธ๋ฅผ ํ•˜๋‚˜๋กœ ํ•ฉ์ณ์ฃผ์„ธ์š”
list_1 = [1, 2, 3]
list_2 = [4, 5, 6]

answer = list_1 + list_2
print(answer)

# extend ์‚ฌ์šฉ
list_1.extend(list_2)
print(list_1)

โœ”๏ธ ์ˆ™์ œ - 32
# number = [[1, 2], [3, 4], [5, 6]]์˜ ๋ชจ๋“  ์š”์†Œ๋ฅผ ๋”ํ•ด์ฃผ์„ธ์š”
number = [[1, 2], [3, 4], [5, 6]]

# 1) ์ด์ค‘ ๋ฐ˜๋ณต๋ฌธ
total = 0
for sublist in number:
    for item in sublist:
        total += item
print("๋ชจ๋“  ์š”์†Œ์˜ ํ•ฉ:", total)

# 2) ๋ฆฌ์ŠคํŠธ ์ปดํ”„๋ฆฌํ—จ์…˜ + sum() ํ•จ์ˆ˜ ์‚ฌ์šฉ
total = sum([item for sublist in number for item in sublist])
print("๋ชจ๋“  ์š”์†Œ์˜ ํ•ฉ:", total)

# 3) itertools.chain()์„ ์‚ฌ์šฉํ•œ ํ‰ํƒ„ํ™”
from itertools import chain

total = sum(chain(*number))
print("๋ชจ๋“  ์š”์†Œ์˜ ํ•ฉ:", total)

# 4) NumPy ์‚ฌ์šฉ
import numpy as np

total = np.sum(number)
print("๋ชจ๋“  ์š”์†Œ์˜ ํ•ฉ:", total)

# ๊ฐ€์žฅ ๊ฐ„๋‹จํ•˜๊ณ  ์ง๊ด€์ ์ธ ๋ฐฉ๋ฒ•์€ ์ด์ค‘ ๋ฐ˜๋ณต๋ฌธ
# ํšจ์œจ์„ฑ ๊ณ ๋ ค ์‹œ, **itertools.chain()** ์ด๋‚˜ ๋ฆฌ์ŠคํŠธ ์ปดํ”„๋ฆฌํ—จ์…˜ ์‚ฌ์šฉ

โœ”๏ธ ์ˆ™์ œ - 33
# a = 11
# b = 22
# ์œ„์˜ ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธ ํ›„ a์˜ ๊ฐ’์„ 22, b์˜ ๊ฐ’์„ 11๋กœ ๊ตํ™˜
a = 11
b = 22
a, b = b, a
print(a, b)

โœ”๏ธ ์ˆ™์ œ - 36
# ๋ฆฌ์ŠคํŠธ [11, 22, 33, 44]์— 11์˜ ๊ฐ’์„ 110์œผ๋กœ ๋ณ€๊ฒฝ
# ํŠœํ”Œ (11, 22, 33, 44)์— 11์˜ ๊ฐ’์„ 110 ๋ณ€๊ฒฝ ์‹œ๋„ 
list_data = [11, 22, 33, 44]
list_data[0] = 110
print(list_data)

tuple_data = (11, 22, 33, 44)
tuple_data = (110,) + tuple_data[1::]
print(tuple_data)

# ๊ฐ’์„ ๋ณ€๊ฒฝํ•˜๋ ค๋ฉด ์ƒˆ๋กœ์šด ํŠœํ”Œ์„ ๋งŒ๋“ค์–ด์•ผ ํ•จ.
# (110,) + my_tuple[1:]
#  > (110,) ๋Š” ์ƒˆ๋กœ์šด ๊ฐ’
#  > my_tuple[1:]๋Š” ๊ธฐ์กด ํŠœํ”Œ์—์„œ ์ธ๋ฑ์Šค 1๋ถ€ํ„ฐ ๋๊นŒ์ง€ ๊ฐ€์ ธ์˜จ ๊ฐ’
#  > ์ƒˆ๋กœ์šด ํŠœํ”Œ์„ ์ƒ์„ฑ

โœ”๏ธ ์ˆ™์ œ - 37
# ๋ฆฌ์ŠคํŠธ [44, 33, 22, 11]์„ ํŠœํ”Œ๋กœ ๋ณ€ํ™˜ํ•˜๊ณ , 55๋ฅผ ์ถ”๊ฐ€ ์‹œ๋„ํ•ด๋ณด์•„๋ผ.
# ์•ˆ ๋œ๋‹ค๋ฉด ๊ทธ ์ด์œ ๋Š”?
list_data = [44, 33, 22, 11]
tuple_data = tuple(list_data)
tuple_data = tuple_data[0::] + (55,)

print(list_data)
print(tuple_data)

 

 

๐Ÿถ ๋А๋‚€์ 

1. ์‚ด๋ ค์ค˜์–ด์–ด์–ด์–ด์–ด์–ด์–ด.
2. ์ปจ๋””์…˜ ๊ด€๋ฆฌ๋ฅผ ์ž˜ํ•˜์ž