본문 바로가기
알고리즘/기초

알고리즘 3일차

by useSword 2024. 3. 7.

 

<사용된 문법>

 

replace()

str.replace('변경하고 싶은 문자', '변경 후 문자')

 

 

MAP(함수 , 리스트)

받은 리스트의 모든 요소에 대해서 함수를 적용시킨 후 , 함수의 return 값을 이용해 새 리스트 생성.

 

 

enumerate()

인덱스와 값을 동시에 접근하면서 루프를 돌리고 싶을 때 사용

 

print(fruits) 
#['orange', 'apple', 'pear', 'banana', 'kiwi', 'apple', 'banana']
print(list(enumerate(fruits))) 
#[(0, 'orange'), (1, 'apple'), (2, 'pear'), (3, 'banana'), (4, 'kiwi'), (5, 'apple'), (6, 'banana')]

 

enumerate(input_list) -> 0부터 셈
for i , num in enumerate(input_list,1) -> 1부터 셈

 

 

isdigit()

문자열이 '숫자'로만 이루어져있는지 확인하는 함수

 

사용법
1) str.isdigit("판단하고자 하는 문자열")
2) "판단하고자 하는 문자열".isdigit()

 

 

 

자주사용되는 input의 활용

ex)
input()
//

input().split()
//공백을 기준으로 여러 개의 부분 문자열로 분리

a=map(int, input().split())
//사용자가 1 2 3을 입력하면  '1', '2', '3'으로 변환한 결과를 포함하는 map 객체를 반환

 

 

 

 

 

Call by value

함수에 인자를 전달할 때 값의 복사본이 생성되어 함수에 전달

원본 데이터에는 영향을 주지 않음

def add_one(n):
    n += 1
    print("함수 내: ", n)

num = 10
add_one(num)
print("함수 호출 후: ", num)

//함수 내:  11
//함수 호출 후:  10

 

 

 

Call by reference

함수에 인자를 전달할 때 메모리 주소(참조)가 전달

인자의 값을 변경하면, 원본 데이터도 변경

객체의 불변성(immutable) 특성에 따라 실제 동작이 달라질 수 있음

 

def append_one(lst):
    lst.append(1)
    print("함수 내: ", lst)

my_list = [0]
append_one(my_list)
print("함수 호출 후: ", my_list)

함수 내:  [0, 1]
함수 호출 후:  [0, 1]

 

 

2차원 배열 

for i in range(len(array)):  # 행 순회
    for j in range(len(array[i])):  # 열 순회
        print(array[i][j], end=' ')
    print()  # 행이 바뀔 때마다 새로운 줄로

 

'알고리즘 > 기초' 카테고리의 다른 글

알고리즘 2일차  (1) 2024.03.06
알고리즘 1일차  (3) 2024.03.05