๊ณ„๋ž€์†Œ๋…„ 2024. 9. 9. 14:39
  • 1์ฐจ์›๋ฐฐ์—ด
#3๊ฐ€์ง€ ๋ฐฉ๋ฒ•
arr = [0] * 6
arr = list(range(6))
arr= [0 for _ in range(6)]
  • 2์ฐจ์› ๋ฐฐ์—ด 
arr = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]
print(arr[2][3]) #12
arr = [[i]*4 for i in range(3)] # [[0,0,0,0],[1,1,1,1],[2,2,2,2]]

์‹ค์ œ๋กœ๋Š” ์˜ค๋ฅธ์ชฝ ์ฒ˜๋Ÿผ ์ €์žฅ๋œ๋‹ค.

 

๋ฐฐ์—ด ์„ ํƒ์‹œ ๊ณ ๋ คํ•  ์ 

  • ํ• ๋‹นํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ”๋ชจ๋ฆฌ ํฌ๊ธฐ๋ฅผ ํ™•์ธ
  • ์ค‘๊ฐ„์— ๋ฐ์ดํ„ฐ ์‚ฝ์ž…์ด ๋งŽ์€์ง€ ํ™•์ธ

 

ํŒŒ์ด์ฌ์—์„œ๋Š” ๋ฆฌ์ŠคํŠธ๋กœ ๋ฐฐ์—ด ํ‘œํ˜„

 

๋ฆฌ์ŠคํŠธ ๊ธฐ๋ฒ•

  • ๋ฆฌ์ŠคํŠธ ์ƒ์„ฑ
  • ๋ฆฌ์ŠคํŠธ์— ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€
    • append() ๋ฉ”์„œ๋“œ: ๋ฆฌ์ŠคํŠธ ๋์— ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€
    • + ์—ฐ์‚ฐ์ž: ๋‘ ๋ฆฌ์ŠคํŠธ๋ฅผ ํ•ฉ์ณ์„œ ์ƒˆ๋กœ์šด ๋ฆฌ์ŠคํŠธ ๋งŒ๋“ ๋‹ค.
    • insert() ๋ฉ”์„œ๋“œ: ํŠน์ • ์œ„์น˜์— ๋ฐ์ดํ„ฐ ์‚ฝ์ž…
  • ๋ฆฌ์ŠคํŠธ์—์„œ ๋ฐ์ดํ„ฐ ์‚ญ์ œ
    • pop() ๋ฉ”์„œ๋“œ: ๋ฆฌ์ŠคํŠธ์˜ ๋งˆ์ง€๋ง‰ ์š”์†Œ  ์ œ๊ฑฐ, ํŠน์ • ์œ„์น˜ ์ œ๊ฑฐ
    • remove() ๋ฉ”์„œ๋“œ: ํŠน์ • ๋ฐ์ดํ„ฐ ์‚ญ์ œ
my_list = [1, 2, 3, 4, 5]
my_list.append(6)  # [1, 2, 3, 4, 5, 6]
new_list = my_list + [7, 8]  # [1, 2, 3, 4, 5, 6, 7, 8]
my_list.insert(2, 10)  # [1, 2, 10, 3, 4, 5, 6]
my_list.pop()  # ๋งˆ์ง€๋ง‰ ์š”์†Œ ์‚ญ์ œ -> [1, 2, 10, 3, 4, 5]
my_list.pop(2)  # ์ธ๋ฑ์Šค 2์˜ ์š”์†Œ ์‚ญ์ œ -> [1, 2, 3, 4, 5]
my_list.remove(4)  # ๊ฐ’ 4๋ฅผ ์‚ญ์ œ -> [1, 2, 3, 5]
  • ๋ฆฌ์ŠคํŠธ ์ปดํ”„๋ฆฌํ—จ์…˜ -> ๊ธฐ์กด ๋ฆฌ์ŠคํŠธ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ƒˆ ๋ฆฌ์ŠคํŠธ๋ฅผ ๋งŒ๋“ค๊ฑฐ๋‚˜ ๋ณต์žกํ•œ ๋ฆฌ์ŠคํŠธ๋ฅผ ์ƒ์„ฑ ๊ฐ€๋Šฅ
numbers = [1,2,3,4,5]
squares = [num ** 2 for num in numbers] #[1,4,9,16,25]
  • ๊ธฐํƒ€ ๋ฉ”์„œ๋“œ
    • sort() ๋ฉ”์„œ๋“œ: ๋ฆฌ์ŠคํŠธ ์ •๋ ฌ
    • reverse() ๋ฉ”์„œ๋“œ: ๋ฆฌ์ŠคํŠธ ์—ญ์ˆœ์œผ๋กœ ๋’ค์ง‘๊ธฐ
    • len() ๋ฉ”์„œ๋“œ: ๋ฆฌ์ŠคํŠธ ๊ธธ์ด ๋ฐ˜ํ™˜
    • index() ๋ฉ”์„œ๋“œ: ํŠน์ • ๊ฐ’์˜ ์ฒซ ๋ฒˆ์งธ ์œ„์น˜(์ธ๋ฑ์Šค) ๋ฐ˜ํ™˜
    • count() ๋ฉ”์„œ๋“œ: ๋ฆฌ์ŠคํŠธ์—์„œ ํŠน์ • ๊ฐ’์ด ๋ช‡ ๋ฒˆ ๋“ฑ์žฅํ•˜๋Š”์ง€ ์นด์šดํŠธ
    • clear() ๋ฉ”์„œ๋“œ: ๋ฆฌ์ŠคํŠธ ๋ชจ๋“  ์š”์†Œ ์‚ญ์ œ
my_list.sort()  # [1, 2, 3, 5]
my_list.reverse()  # [5, 3, 2, 1]
len(my_list)  # 4
my_list.index(1) #3 (์ฒซ ๋ฒˆ์งธ 1์ด 3์— ์œ„์น˜)
m_list.count(1) #1 (1์ด 1๋ฒˆ ๋“ฑ์žฅ)
my_list.clear()  # []

 

์ •๋ ฌ ์‹œ ๋ฆฌ์ŠคํŠธ๋ฅผ arr.sort()๋Š” ๊ธฐ์กด ๋ฆฌ์ŠคํŠธ๊ฐ€ ๋ฐ”๋€Œ์ง€๋งŒ, ๊ทธ๋Œ€๋กœ ๋‚จ๊ธฐ๊ณ  ์‹ถ๋‹ค๋ฉด 

sorted_list = list(sort(arr))

์ถ”๊ฐ€๋กœ ๋‚ด๋ฆผ์ฐจ์ˆœ ๋ฐ ์˜ค๋ฆ„์ฐจ์ˆœ์„ ํ•˜๊ณ ์‹ถ๋‹ค๋ฉด

lst.sort(reverse=True) #๋‚ด๋ฆผ์ฐจ์ˆœ
lst.sort(reverse=False) #์˜ค๋ฆ„์ฐจ์ˆœ

 

 

์ค‘๋ณต๊ฐ’ ์ œ๊ฑฐ์œ„ํ•œ ํ•จ์ˆ˜

unique_list = list(set(lst))

set()ํ•จ์ˆ˜๋Š” ํ•ด์‹œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋ฏ€๋กœ ์‹œ๊ฐ„ ๋ณต์žก๋„ O(N)

 

2์ฐจ์›ํ–‰๋ ฌ๊ณฑ์— ๋Œ€ํ•œ ๊ธฐ๋ณธ ์„ธํŒ…

def solution(arr1, arr2):
    answer = [[]]
    r1,c1 = len(arr1),len(arr1[0])
    r2,c2 = len(arr2),len(arr2[0])
    ret = [[0]*c2 for _ in range(r1)]
    
    #arr1์˜ ๊ฐ ํ–‰๊ณผ arr2์˜ ๊ฐ ์—ด์— ๋Œ€ํ•ด์„œ
    for i in range(r1):
        for j in range(c2):
            #๋‘ ํ–‰๋ ฌ์„ ๊ณฑํ•จ
            for k in range(c1):
                ret[i][j]  += arr1[i][k] * arr[k][j]
    return answer

 

๋ฌธ์ œ

'''
[1,-5,2,4,3] -> [5,1,2,3,4]
'''

def solution(s):
    s.sort()
    return s

# ์‹œ๊ฐ„ ๋ณต์žก๋„์˜ ๊ฒฝ์šฐ NlogN์ด ๋œ๋‹ค.

print(solution([1,-5,2,4,3]))
  • ํŒŒ์ด์ฌ์—๋Š” ์ฝ”๋”ฉํ…Œ์ŠคํŠธ์— ์œ ์šฉํ•œ ํ•จ์ˆ˜๊ฐ€ ๋งŽ๋‹ค. ๊ตณ์ด ์ง์ ‘ ๋งŒ๋“ค์ง€ ๋ง์ž!!
'''
s = [4,2,2,1,3,4]
return = [4,3,2,1]
'''

def solution(s):
    s.sort(reverse=True) #[4,4,3,2,2,1]
    #์ค‘๋ณต์ œ๊ฑฐ -> set
    sets= set(s)

    return sets

print(solution([4,2,2,1,3,4]))
#์ด๋ ‡๊ฒŒ ํ•˜๋ฉด, ์ •๋ ฌ์ด ๋‹ค ๋‚ ์•„๊ฐ„๋‹ค. ์ฃผ์˜ํ• ๊ฒƒ

def solution(s):
    #์ค‘๋ณต์ œ๊ฑฐ -> set
    sets= list(set(s)) #[1, 2, 3, 4]

    sets.sort(reverse=True)

    return sets

print(solution([4,2,2,1,3,4]))

 

https://school.programmers.co.kr/learn/courses/30/lessons/68644

'''
numbers = [2,1,3,4,1]
result = [2,3,4,5,6,7]

์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•œ๋‹ค.
[1,1,2,3,4]
์‹œ๊ฐ„๋ณต์žก๋„ ๋„๋„ํ•˜๋ฏ€๋กœ ์ด์ค‘ for๋ฌธ ๋Œ๋ฆฌ์ž, ํฌ์ธํ„ฐ ๋‘๊ฐœ์žก๊ณ  ๋ฐ˜๋ณต
'''

def solution(numbers):
    numbers.sort()
    arr=[]
    for i in range(len(numbers)):
        for j in range(i+1,len(numbers)):
            arr.append(numbers[i]+numbers[j])


    return sorted(list(set(arr)))
print(solution([2,1,3,4,1]))
print(solution([5,0,2,7]))

์ด๋•Œ, set์€ ์ž๋™์œผ๋กœ ์ •๋ ฌํ•ด์ฃผ์ง€ ์•Š์œผ๋ฏ€๋กœ ์ถ”๊ฐ€๋กœ ์ •๋ ฌ์„ ๋ช…์‹œ์ ์œผ๋กœ ํ•ด์ค˜์•ผ ํ•œ๋‹ค. ์žŠ์ง€๋ง๊ฒƒ!

 

https://school.programmers.co.kr/learn/courses/30/lessons/42840

'''
answrs = [1,2,3,4,5]
return = [1]

answers = [1,3,2,4,2]
return = [1,2,3]

answers = [1,2,3,4,5,1] -> 1์€ 6๊ฐœ, 2๋Š” 0๊ฐœ, 3์€ 0๊ฐœ
return = [1,2,3]
'''

def solution(answers):
    patterns = [
        [1,2,3,4,5],
        [2,1,2,3,2,4,2,5],
        [3,3,1,1,2,2,4,4,5,5]
    ]
    score=[0]*3
    for i in range(len(answers)):
        for j in range(len(patterns)):
            if patterns[j][i]==answers[i]:
                score[j]+=1

    maxs=max(score)
    lists=[]
    for i in range(len(patterns)):
        if maxs ==score[i]:
            lists.append(i+1)

    return lists

# print(solution([1,2,3,4,5]))
# print(solution([1,3,2,4,2]))
print(solution([1,2,3,4,5,1]))

์—ฌ๊ธฐ์„œ ๋ฌธ์ œ๋Š” answers์˜ ํฌ๊ธฐ๊ฐ€ patterns์˜ ํ•œ๊ฐœ์˜ ๋ฐฐ์—ด์˜ ํฌ๊ธฐ๋ณด๋‹ค ํด ๊ฒฝ์šฐ range ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. -> %๋กœ ํ•ด๊ฒฐํ•˜์ž

๋”ฐ๋ผ์„œ

if patterns[j][i]==answers[i]:
# ์ด ๋ถ€๋ถ„์„ ์•„๋ž˜์™€ ๊ฐ™์ด ๋ณ€๊ฒฝํ•˜์ž
if patterns[j][i%len(patterns[j])]==answers[i]:

 

https://school.programmers.co.kr/learn/courses/30/lessons/12949