본문 바로가기

전체 글

(82)
Python - Tuple 튜플은 ( ) 로 감싸고, 요소끼리는 쉼표로 구분한다. 어떤 자료형이든 다 요소로 넣을 수 있다. tup = (element1, element2, element3 ... ) 한번 선언되면 수정, 순서 변경 및 삭제가 불가능하다. 괄호를 생략해도 된다. tup = 1, 2, 3 단 한 개의 요소만 가질 때는 요소 뒤에 쉼표를 반드시 붙여야 된다. tup = (1, ) 단 한 개의 요소만 가지는데 쉼표를 안 붙이면 tuple이 되지 않는다. tup =(1)의 type은 int. 수정이 필요 없고 적은 수의 간단한 형태의 데이터를 표현할 때는 tuple을 사용하는 게 더 효과적이다. 특정 데이터를 임시/즉석으로(ad hoc) 표현하고 싶을 때 사용한다. 리스트의 요소로 튜플을 사용하는 방법이 유용한데, 같은 ..
Python - List 리스트는 [ ] 로 감싸고, 요소끼리는 쉼표로 구분한다. 어떤 자료형이든 다 요소로 넣을 수 있다. lst = [element1, element2, element3, ... ] 빈 리스트 만들기 새로 선언 lst = [] 또는 lst = list() 기존 리스트 비우기 lst.clear() 수정 lst[index] = new_val 없으면 알아서 추가해주는 dict와 달리 반드시 기존에 존재하는 index를 넣어야 된다. 있는 값 확인 값이 있는지 확인 val in lst 값이 없는지 확인 val not in lst 특정 값의 index 반환 lst.index(val) 그 값이 여러개 있다면 첫번째 index를 반환함. 없는 경우 ValueError 리스트 길이 구하기 len(lst) 특정 element..
Python - Function Parameters Parameters vs Arguments 함수 선언부에 있는 이름은 parameter, 함수를 호출하며 넣어서 함수에 전달된 값은 argument이다. 참고 링크 함수를 호출할 때는 함수 선언시 정해둔 규정에 따라 argument를 전달해야 된다. 어떤 값은 위치에 맞추어, 어떤 값은 keyword를 주며 넣어야 되는데 이는 함수 정의부의 Parameter 순서를 보고 구분할 수 있다. 기본적으로는 위치 인자 - 가변 인자(*args) - 키워드 가변 인자(*kwargs) 순이다. 여기에 default까지 추가하면, 위치 인자 - default 인자 - 가변 인자(*args) - 키워드(w/, w/o default 순서 상관 없음) - 키워드 가변 인자(**kwargs) 이게 최종! 이를 익힌 예제는 ..
Python - String Formatting print를 할 때 %, format 또는 f""를 넣어 출력할 문장에 변수를 대입할 수 있다. 이렇게 항상 print와 한 세트로 써서 print를 하는 방법으로 인식하고 있었는데, 정확히는 문자열을 formatting하는 방법이다. 만들어 놓고 print를 안 할 수도 있는 거고. 1. %-formatting 좀 불편해서 잘 안쓰는 데 정리만 해둔다. 문자열 내에 %s(문자), %d(정수), %f(실수) 등을 넣어 변수의 type을 고정해주면서 들어갈 자리를 만들어준다. 문자열 뒤에 %를 넣고 변수를 쓴다. "Hello, %s." % name 여러개를 줄 땐 아래와 같이 괄호를 쓴다. "Today is %d/%d, %s." % (month, day, weekday) 2. str.format() 문자열..
[DP] boj 9251 - 2차원 리스트 이용하기 백준 9251은 중간 과정 값을 저장하는 리스트를 2차원으로 써야 되는 문제다. 실행 시간이 더 짧은 다른 사람의 풀이를 보니 문자열의 길이를 구하는 걸 변수에 할당한 다음 사용했다. import sys s1 = sys.stdin.readline().rstrip() s2 = sys.stdin.readline().rstrip() dp = [[0] * (len(s1)+1) for _ in range(len(s2)+1)] for i in range(1, len(s2)+1): for j in range(1, len(s1)+1): if s1[j-1] == s2[i-1]: dp[i][j] = dp[i-1][j-1] + 1 else: dp[i][j] = max(dp[i-1][j], dp[i][j-1]) print(d..