전체 글157 [Baekjoon] 백준 알고리즘: 1269 - 대칭 차집합 문제 https://www.acmicpc.net/problem/1269 1269번: 대칭 차집합 첫째 줄에 집합 A의 원소의 개수와 집합 B의 원소의 개수가 빈 칸을 사이에 두고 주어진다. 둘째 줄에는 집합 A의 모든 원소가, 셋째 줄에는 집합 B의 모든 원소가 빈 칸을 사이에 두고 각각 주어 www.acmicpc.net 내가 생각했던 풀이과정 1. 집합에 공통 요소가 없기 때문에 리스트 대신 Set 으로 입력받는다. 2. Set의 교집합, 합집합, 차집합, 대칭 차집합 등의 지원해주는 연산자를 통하여 문제를 풀어낸다. 나의 풀이 A, B = map(int, input().split()) A_set = set(map(int, input().split())) B_set = set(map(int, input.. 2021. 11. 23. [Python] 데코레이터(Decorator) 데코레이터는 함수를 받아서 새로운 함수를 만들어 반환하는 함수로 정의할 수 있다. 데코레이터를 사용하려면 다음과 같은 내용이 선행되어야 합니다. 클로저 일급 함수 가변 인자 인자 언패킹(argument unpacking) 데코레이터의 장점 중복 제거, 코드 간결, 공통 기능 작성 로깅, 프레임워크, 유효성 체크 등을 공통적으로 실행할 수 있습니다. 예를 들어 함수의 실행시간을 측정하려고 하면 함수 사이에 넣는 것이 아닌 시작시간, 종료시간을 측정해주는 함수를 데코레이터(Decorator)로 만들어 놓고 나머지 함수에 장식(Decorate)를 하는 것 입니다. 함수 실행 시간 측정을 100개의 함수를 측정한다고 가정할 때, 데코레이터를 통해서 실행되기 때문에 공통 기능으로 실행시킬 수 있습니다. 조합해서 .. 2021. 11. 17. [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. 이전 1 ··· 3 4 5 6 7 8 9 ··· 40 다음