20240102 백준 1546, 1110, 1157
함수
>>> def 함수이름(매개변수):
>>> 수행할 문장
>>> return 리턴값
- 리턴값 없어도 됨.
>>> def add(a, b):
>>> print(a + b)
>>> add(1, 2)
- 매개변수 없어도 됨.
>>> def say():
>>> print("hi")
>>> say()
-
- 입력값이 몇개가 될지 모를때
- 매개변수로 *args를 사용한다. args말고 다른 이름 사용가능하기 때문에 정확히는 *매개변수를 사용한다.
>>> def add_many(*args):
>>> result = 0
>>> for i in args:
>>> result += i
>>> return result
list 값 여러개 추가
list에 append 함수를 사용해서 값을 추가할 때는 argument를 하나만 사용할 수 있다.
즉, list.append(1, 2)는 안된다. 두 값을 추가하고 싶으면 두번 적어야 한다.
ie. list.append(1)
list.append(2)
문자열 대소문자 변환
-
- 모두 대문자로
- str.upper()
-
- 모두 소문자로
- str.lower()
-
- 첫글자는 대문자 나머지는 소문자로
- str.capitalize()
-
- 한 문자열에서 각 단어의 첫글자를 대문자로
- str.title()
-
- 한 문자열의 모든 문자의 대/소문자를 반대로
- str.swapcase()
이 모든 함수는 list.sort()처럼 바꾼뒤 알아서 저장해주는 것이 아니라서 계속해서 바꿔서 사용하고 싶으면 str = str.upper()처럼 사용해야 됨.
pass vs continue
pass는 조건문 안이나 반복문 안에서 아무일도 하지 않게 하고 싶을 때 사용.
continue는 반복문 안에서 continue 아래에 있는 코드들은 실행하지 않고 다음 iterate으로 넘어가고 싶을 때 사용.
조건문 안에서 아무런 코드도 작성하지 않으면 오류가 나기 때문에 그럴때는 pass를 적어주자.
내장함수 max(), min()
max() 함수와 min() 함수가 파이썬에 내장되어 있어 최대값과 최소값을 쉽게 찾을 수 있다. 내장 함수이기 때문에 따로 모듈을 import 해줄 필요도 없음.
- 리스트에서 최대값
>>> print(max([1, 3, 2.5 -1])) 3
- 튜플에서 최대값
>>> print(max((1, 3, 2.5, -1))) 3
-
- 딕셔너리에서 최대값
- key 값들 중 최대값을 반환한다.
>>> print(max({1 : 1, 2 : 3, 3 : 2.5, 4 : -1}))
4
- 딕셔너리에서 value의 최대값을 찾고 싶을 때
>>> print(max({1 : 1, 2 : 3, 3 : 2.5, 4 : -1}.values())) 3
- 딕셔너리에서 최대 value의 key값을 찾고 싶을 때
>>> print(max({1 : 1, 2 : 3, 3 : 2.5, 4 : -1}, key = {1 : 1, 2 : 3, 3 : 2.5, 4 : -1}.get)) 2
하지만 이 방법은 최대값을 가지는 key가 여러개일때 첫번째 key만 리턴함.
>>> dict = {1 : 1, 2 : 3, 3 : 2.5, 4 : -1, 5 : 3} >>> print(max(dict, key = dict.get)) 2
- 딕셔너리에서 최대값을 가지는 key가 여러개일때 모든 key 리턴하는 방법
- 리스트컴프리핸션 이용
>>> dict = {1 : 1, 2 : 3, 3 : 2.5, 4 : -1, 5 : 3} >>> print([k for k,v in dict.items() if max(dict.values()) == v])
- 리스트컴프리핸션 이용
Today : 백준 1546, 1110, 1157 문제 풀음.
Leave a comment