본문 바로가기

전체 글155

[Baekjoon] 백준 알고리즘: 1181 - 단어정렬 문제 https://www.acmicpc.net/problem/1181 내가 생각했던 풀이과정 1. 단순하게 리스트 안에 단어가 있다면, 추가를 하지 않는다. 2. sort() 함수를 통해 알파벳으로 정렬 3. sorted 람다 함수를 통해 길이별로 정렬 나의 풀이 N = int(input()) temp = [] for i in range(N): word = input() if word in temp: continue else: temp.append(word) temp.sort() temp = sorted(temp, key = lambda x: len(x)) for i in temp: print(i) 다른 사람의 풀이 words_num = int(input()) words_list = [] for _ i.. 2021. 11. 14.
[Python] Scope에 대한 이해 모듈은 전역 이름공간을 가지고 있어서 모듈 내부에 작성된 함수나 클래스가 이름공간에 정의된 변수를 참조할 수 있다. 모듈에 정의된 함수는 지역 이름공간을 가지고 있어서 이 함수 내부에 또 함수를 정의하면 지역 이름공간이 만들어진다. 이렇게 이름공간에 있는 변수를 참조하여 범위를 정하는 규칙을 스코프(scope)라고 한다. 스코프에 따라 변수를 참조할 수 있어 규칙을 벗어나면 예외가 발생한다. 1. 지역변수를 할당 없이 처리 함수 func를 정의할 때 매개변수는 x, y 2개 이고 내부에 변수 result에 더한다. 모두 3개의 지역변수가 만들어진다. def func(x, y): #에러 result = result + x + y return result 함수에 2개의 인자를 넣고 실행하면 예외가 발생한다... 2021. 11. 10.
[Python] 네임드 튜플(Named Tuple) 전문적인 정보를 다루는 것이 아닌 개인적으로 학습한 내용에 대해 포스팅을 했기 때문에 이점을 감안하여 봐주시면 감사하겠습니다👏 네임드 튜플(Named Tuple) 클래스와는 다르고 collection module 하위에 있으며, dictionary 형태와 같이 key와 value 형태로 mapping 됩니다. 튜플인데 딕셔너리 형태를 갖고 있습니다. 요소에 key 또는 index로 접근할 수 있으며 데이터를 가공하거나 주고받을 때 독특한 성질을 갖고 있습니다. # 네임드 튜플 from collections import namedtuple # 네임드 튜플 선언 Point = namedtuple('Point', 'x y') pt3 = Point(1.0, 5.0) # 클래스 형태로 튜플을 추상화 하고 있습니다.. 2021. 10. 26.
[Python] 매직 메서드(Magic Method) 전문적인 정보를 다루는 것이 아닌 개인적으로 학습한 내용에 대해 포스팅을 했기 때문에 이점을 감안하여 봐주시면 감사하겠습니다👏 매직 메서드(Magic Method) 클래스 안에 정의할 수 있는 특별한(Built-in) 메서드입니다. 때론, 스페셜 메서드(Special Method)로 불리기도 합니다. 특별하다는 의미(?): 이미 만들어진 것을 예를 들어, 3 + 3 을 했을 때, 6이 나오는 것처럼 어떤 특별한(Built-in) 메서드가 동작을 해서, 결과값이 6이 나오는 것인지, 좀 더 낮은 레벨에서, 클래스 기반으로 코딩을 할 수 있도록 도와주는 메서드 매직 메서드를 이해해야 클래스를 좀 더 풍부하게 사용하고, 시퀀스를 이해해야 반복과 함수를 좀 더 편리하게 사용할 수 있습니다. print(int) .. 2021. 10. 24.