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 문제 풀음.

Categories:

Updated:

Leave a comment