본문 바로가기

전체 글267

[파이썬을 파이썬답게] swap JS 같은 경우 이렇게 temp를 줘서 swap을 해야함 a = 3 b = 'abc' temp = a a = b b = temp 하지만 파이썬의 경우 a = 3 b = 'abc' a, b = b, a # 참 쉽죠? 2021. 3. 8.
[파이썬을 파이썬답게] flag Or for-else for-else 문 import math numbers = [5,1,2,3,1] multiplied = 1 for number in numbers: multiplied *= number print(math.sqrt(multiplied), int(math.sqrt(multiplied))) if math.sqrt(multiplied) == int(math.sqrt(multiplied)): print('found') break else: print('not found') 일반 flag 변수 사용문 import math numbers = [5,1,2,3,1] multiplied = 1 flag = True for number in numbers: multiplied *= number if math.sqrt(mu.. 2021. 3. 8.
[파이썬을 파이썬답게] for 문과 if 문을 한번에 2-depth 블록 def solution(mylist): answer = [] for a in mylist: if a % 2 == 0: answer.append(a**2) else: continue return answer list comprehension 한줄에 mylist = [3, 2, 6, 7] answer = [number**2 for number in mylist if number % 2 == 0] 2021. 3. 8.
[파이썬을 파이썬답게] 가장 많이 등장하는 알파벳 찾기 my dirty code with for x 2 from collections import Counter my_str = input().strip() c = Counter(my_str).most_common() max_num = 0 for k, v in c: if v > max_num: max_num = v res = "" for k, v in c: if v == max_num: res+=k print("".join(sorted(res))) import collections my_list = [1, 2, 3, 4, 5, 6, 7, 8, 7, 9, 1, 2, 3, 3, 5, 2, 6, 8, 9, 0, 1, 1, 4, 7, 0] answer = collections.Counter(my_list) print(.. 2021. 3. 8.
[파이썬을 파이썬답게] 순열과 조합 from itertools import permutations def solution(mylist): return list(permutations(sorted(mylist))) def permute(arr): result = [arr[:]] c = [0] * len(arr) i = 0 while i < len(arr): if c[i] < i: if i % 2 == 0: arr[0], arr[i] = arr[i], arr[0] else: arr[c[i]], arr[i] = arr[i], arr[c[i]] result.append(arr[:]) c[i] += 1 i = 0 else: c[i] = 0 i += 1 return result from itertools import permutations pool .. 2021. 3. 8.
[파이썬을 파이썬답게] 2d 리스트를 1d 리스트로 만들기 from itertools import chain def solution(mylist): return list(chain(*mylist)) 2021. 3. 8.
[파이썬을 파이썬답게] 곱집합 구하기 - itertools.product itertools.product for 문 사용하지 않고 product 구하기 import itertools iterable1 = 'AB' iterable2 = 'xy' iterable3 = '12' print(list(itertools.product(iterable1, iterable2, iterable3))) # output # [('A', 'x', '1'), ('A', 'x', '2'), ('A', 'y', '1'), ('A', 'y', '2'), ('B', 'x', '1'), ('B', 'x', '2'), ('B', 'y', '1'), ('B', 'y', '2')] 리스트로 해줘야 함 2021. 3. 8.
[파이썬을 파이썬답게] sequence 멤버를 하나로 이어붙이기 dirty code my_list = ['1', '100', '33'] answer = '' for a in my_list: answer += a pythonic my_list = ['1', '100', '33'] answer = ''.join(my_list) join 까지는 생각했는데 2021. 3. 8.
[파이썬을 파이썬답게] map 함수 응용하기 len 함수를 그냥 넣으면 됨 def solution(mylist): answer = list(map(len, mylist)) return answer 2021. 3. 8.