python

· PYTHON
remove() remove는 특정 색인이 아닌 첫번째 일치하는 값을 제거한다. lst = [1,2,3,4,5,1] lst.remove(1) print(lst) #[2,3,4,5,1] del [] del은 특정 인덱스에서 항목을 제거한다. lst = [1,2,3,4,5,1] del lst [2] print(lst) #[1,2,4,5,1] pop() pop은 특정 인덱스에서 항목을 제거하고 그 값을 반환한다. lst = [1,2,3,4,5,1] print(lst.pop(-1)) # 1, remove는 none 반환 del은 프린트 x print(lst) #[1,2,3,4,5]
· PYTHON
sort, sorted 우선 sort와 sorted는 안정정렬이라고 한다. 이는 https://codingdog.tistory.com/entry/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%AC%B8%EC%9E%90%EC%97%B4-%EB%8B%A4%EC%A4%91%EC%A0%95%EB%A0%AC-sort%EA%B0%80-stable-%ED%95%98%EB%8B%A4%EB%8A%94-%EA%B2%83%EC%9D%84-%EC%9D%B4%EC%9A%A9%ED%95%A9%EC%8B%9C%EB%8B%A4 에 잘 정리되어 있으니 참고하자. sort, sorted 속성 sort와 sorted에는 속성을 줄 수 있다. reverse 속성과 key 속성인데, reverse 속성의 기본값은 false이다. ..
· PYTHON
리스트 위치 바꾸기 list = [1,2,3,4,5]에서 2와 3의 위치를 바꾸고 싶다. 이럴 때 list[2] = list[1] 이런 식으로 바꾸면 그 다음 단계에서 막히게 된다. 이를 해결할 수 있는 방법이 list[1], list[2] = list[2], list[1] 이다. list[1]에 list[2]의 값이 할당되고 list[2]에 list[1]의 값이 할당된다. 아래는 이를 이용한 문제 풀이이다. a, b = map(int, input().split()) l = [i for i in range(1, a+1)] for _ in range(b): x, y = map(int, input().split()) l[x-1], l[y-1] = l[y-1], l[x-1] print(*l)
· PYTHON
쪼개기의 split, 합치기의 join split()은 입력 받은 것을 쪼개준다. 기본값은 공백문자이다. 백준 문제 풀다보면 흔히 볼 수 있는 친구다. a, b = input().split() 만약 입력창에 응 애를 치면 a에 응, b에 애가 할당이 된다. join은 split과 반대로 합쳐주는 역할을 한다. a = int(input()) l = [input() for _ in range(a)] k = list(l[0]) for i in range(1, len(l)): for j in range(len(k)): if l[i][j] != k[j]: k[j] = "?" print("".join(k)) 파이썬의 문자열은 인덱스를 통해 접근하는 방법으로는 수정이 불가해서 리스트로 변경해 수정해야한다. 이때 리스..
· PYTHON
함수의 매개변수 매개변수에는 여러 값을 넣을 수 있지만 그 값이 정해져 있지 않은 경우에 * 를 이용하면 여러 개를 넣어줄 수 있다. 그렇게 쉽게 문제를 푸나 했지만 importError가 나왔다. 문제를 읽어보니 def solve(a) a 자리에 리스트가 들어간다고 한다. 리스트를 넣을 수 있는 것도 오늘 처음 알았다. 신기한걸... 어쨌든 a 앞에 넣었던 *를 제거하니 문제는 해결됐다. importError가 난 코드 def nSum(*a): return sum(a) 통과한 코드 def solve(a): return sum(a)
· PYTHON
not in 백준 문제를 풀다가 브5 문제라서 쉽게 풀 수 있겠다고 생각하고 10초컷 하려고 했지만 not in이 생각나지 않아서 for문을 돌렸다. 하지만 not in을 쓰면 매우 간단하게 풀 수 있었던 문제였다. 그거 기억해놓으려고 블로그에 글 쓰는 중 not in은 리스트나 튜플, 문자열 등에 찾고자 하는 값이 들어있지 않니라고 물어보는 것과 같은 문법이다. 불리언값을 반환하는데, 해당하는 값이 그 배열에 들어있지 않다면 true, 들어있다면 false를 반환한다. 아래는 not in을 사용한 백준 5597번 문제 풀이이다. l = [i for i in range(1, 31)] m = [int(input()) for _ in range(len(l)-2)] for j in range(len(l)): ..
· PYTHON
int() 숫자형 혹은 문자열을 정수형으로 변환해주는 함수이다. 두번째 인자로 n번째 진수로 변환하는 것을 요청할 수 있다. 이때, 만약 1번째 인자에 정수형을 넣어주면 TypeError: int() can't convert non-string with explicit base 가 등장한다. (이 에러가 사실 블로그 글 쓴 이유) a = int(input(), 8) print(bin(a)) # input()은 문자열이므로 에러없이 실행됨 a = int(314, 8) print(bin(a)) # 에러 발생
· PYTHON
파이썬 예외처리 try, except를 이용하면 예외처리를 할 수 있다. try: 실행할 코드 except: 예외가 발생했을 때 처리하는 코드 특정한 에러코드에 대해 예외처리 또한 할 수 있다. try: 실행할 코드 except 예외이름: 예외가 발생했을 때 처리하는 코드 아래는 예시이다. x와 y의 값을 입력해 더하는데, 아무것도 입력을 하지 않을 경우 에러가 난다. 하지만 except를 이용해서 break를 주었기 떄문에 별 에러 없이 while문을 빠져나갈 수 있다. 이 문제 출처는 백준 10951번이다. while True: try: x, y = map(int, input().split()) print(x+y) except: break https://www.acmicpc.net/problem/10..
문제 본 문제는 python 의 빠른 기초 학습을 위해 설계된 문제로서 python 코드 제출을 기준으로 설명되어 있습니다. ------ 영일이는 생명과학에 관심이 생겨 왕개미를 연구하고 있었다. 왕개미를 유심히 살펴보던 중 특별히 성실해 보이는 개미가 있었는데, 그 개미는 개미굴에서 나와 먹이까지 가장 빠른 길로 이동하는 것이었다. 개미는 오른쪽으로 움직이다가 벽을 만나면 아래쪽으로 움직여 가장 빠른 길로 움직였다. (오른쪽에 길이 나타나면 다시 오른쪽으로 움직인다.) 이에 호기심이 생긴 영일이는 그 개미를 미로 상자에 넣고 살펴보기 시작하였다. 미로 상자에 넣은 개미는 먹이를 찾았거나, 더 이상 움직일 수 없을 때까지 오른쪽 또는 아래쪽으로만 움직였다. 미로 상자의 구조가 0(갈 수 있는 곳), 1(..
문제 본 문제는 python 의 빠른 기초 학습을 위해 설계된 문제로서 python 코드 제출을 기준으로 설명되어 있습니다. ------ 부모님과 함께 놀러간 영일이는 설탕과자(설탕을 녹여 물고기 등의 모양을 만든 것) 뽑기를 보게 되었다. 길이가 다른 몇 개의 막대를 바둑판과 같은 격자판에 놓는데, 막대에 있는 설탕과자 이름 아래에 있는 번호를 뽑으면 설탕과자를 가져가는 게임이었다. (잉어, 붕어, 용 등 여러 가지가 적혀있다.) 격자판의 세로(h), 가로(w), 막대의 개수(n), 각 막대의 길이(l), 막대를 놓는 방향(d:가로는 0, 세로는 1)과 막대를 놓는 막대의 가장 왼쪽 또는 위쪽의 위치(x, y)가 주어질 때, 격자판을 채운 막대의 모양을 출력하는 프로그램을 만들어보자. 내 풀이 w, h..
Melon Man
'python' 태그의 글 목록 (2 Page)