본문 바로가기
728x90

파이썬170

[Algorithm] 정렬 - 버블정렬, 카운팅 정렬, 선택 정렬 정렬 (Sort) 데이터를 정해진 순서대로 나열 대표적인 정렬 방식 버블 정렬 카운팅 정렬 선택 정렬 퀵 정렬 삽입 정렬 병합 정렬 arr = [5, 6, 2, 9, 7, 1, 8, 3, 4, 0] 위와 같은 배열을 오름차순 정렬한다고 할 때, 정렬별로 어떻게 구현할 수 있을까? 버블 정렬 (Bubble Sort) 인접한 두 개의 원소를 비교하며 자리를 계속 교환하는 방식 첫 번째 원소부터 인접한 원소끼리 계속 자리를 교환하면서 맨 마지막 자리까지 이동 (가장 큰 원소부터 맨 마지막 자리에서 점점 앞으로 채워 넣기) 비교와 교환 O(n^2) # Bubble sort def BubbleSort(arr): for i in range(len(arr)-1, 0, -1): for j in range(0, i): .. 2021. 8. 16.
[Python] packing과 unpacking Packing 함수가 받을 인자의 개수를 유연하게 지정하기 위해 사용! 인자로 받은 여러 개의 값을 하나의 객체로 합쳐서 받을 수 있다. - 가변 인자 매개 변수 앞에 * 튜플 형태로 처리 def func(*args): return args print(func(1, 2)) 위의 코드를 실행하면 (1, 2)와 같이 튜플 형태로 출력된다. - 가변 키워드 인자 매개 변수 앞에 ** 딕셔너리 형태로 처리 def func(**kwargs): return kwargs print(func(한국어='안녕', 영어='hi')) 위의 코드를 실행하면 {'한국어' : '안녕', '영어' : 'hi'}와 같이 딕셔너리 형태로 출력된다. Unpacking 여러 개의 객체를 포함하고 있는 하나의 객체를 풀어주기 위해 사용! 매.. 2021. 8. 16.
[Python] input() vs sys.stdin.readline() 백준 문제를 풀다보면 input()을 사용했을 때 시간초과가 뜨곤 한다. 그럴땐 sys.stdin.readline()을 쓰면 해결되는데, 둘의 차이가 무엇일까? input() 파이썬 공식 문서👇 https://docs.python.org/ko/3/library/functions.html#input input 함수는 파이썬의 내장 함수이다. input([prompt]) prompt 인자가 있으면, 끝에 개행 문자를 붙이지 않고 표준 출력에 씁니다. 그런 다음 함수는 입력에서 한 줄을 읽고, 문자열로 변환해서 (줄 끝의 줄 바꿈 문자를 제거한다) 돌려줍니다. EOF를 읽으면 EOFError 를 일으킵니다. sys 모듈 파이썬 공식 문서👇 https://docs.python.org/ko/3/library/sy.. 2021. 8. 16.
[BOJ/Python] 17413. 단어 뒤집기 2 📌 문제 https://www.acmicpc.net/problem/17413 17413번: 단어 뒤집기 2 문자열 S가 주어졌을 때, 이 문자열에서 단어만 뒤집으려고 한다. 먼저, 문자열 S는 아래와과 같은 규칙을 지킨다. 알파벳 소문자('a'-'z'), 숫자('0'-'9'), 공백(' '), 특수 문자('')로만 이루어져 www.acmicpc.net 📌 문제 접근 방법 첫 번째 풀이에서 분명 예제도 다 맞았고 생각나는 반례도 없는데 자꾸 틀렸다고 뜬다..ㅠㅅㅠ 아마도 split에서 뭔가 공백이 사라지는 걸까..?라는 짐작뿐..... 누가 제발 이게 왜 틀렸는지 알려주세요... 수정해서 완성시키고 싶다고요ㅠㅠㅠㅠㅠ 📌 코드 - 첫 번째 풀이 import sys S = sys.stdin.readline().. 2021. 8. 16.
728x90