목록분류 전체 보기 (89)
CHIqueen
Two arrays are called similar if one can be obtained from another by swapping at most one pair of elements in one of the arrays. Given two arrays a and b, check whether they are similar. def areSimilar(a, b): return sorted(a)==sorted(b) and sum([c!=d for c,d in zip(a,b)])
Given a rectangular matrix of characters, add a border of asterisks(*) to it. def addBorder(picture): a = len(picture[0]) + 2 return ["*" * a] + ["*" + i + "*" for i in picture] + ["*" * a] "*"+i+"*"말고 i.center()쓰는것도 좋은 방법이다.
Several people are standing in a row and need to be divided into two teams. The first person goes into team 1, the second goes into team 2, the third goes into team 1 again, the fourth into team 2, and so on. You are given an array of positive integers - the weights of the people. Return an array of two integers, where the first element is the total weight of team 1, and the second element is th..
스캐너 지잉지잉 너무 오래걸리고 귀찮아서 캠뭐시기 어플을 애용하고 있다. 하지만 pdf로 변환하고 나면 밑에 있는 scan by ~ 가 다른 사람한테 전달할때 좀 그래서 전에 질문을 받은적이 있다.... 그래서 이걸 없애 보려는데 다행히 스캔한거 위에 올려서 아예 이미지로 만들지 않아서 이미지랑 분리 할 수 있다. 라이브러리는 os, PyPDF2, img2pdf, PIL을 사용할 것이다. (하나로 처리하면 좋지만 자료랑 doc이 너무 구리다) import os import PyPDF2 from img2pdf import convert from PIL import Image file_pdf = PyPDF2.PdfFileReader(open("test.pdf","rb")) pages = file_pdf.ge..
def reverseInParentheses(inputString): return eval('"' + inputString.replace('(', '"+("').replace(')', '")[::-1]+"') + '"') 원래는 ( 으로 split해서 )이 있을때 잘라서 [::-1]하고 붙이고 [::-1]하려고 했으나 매우 비효율적이라 생각이 들어서 파이썬만이 할 수 있는 eval을 통해 replace해서 그냥 붙였다.
def sortByHeight(a): treeIn = [i for i in range(len(a)) if a[i]==-1] b = sorted(a)[len(treeIn):] for i in treeIn: b.insert(i,-1) return b 나무가 있는 인덱스를 찾고 정렬한다음에 그만큼 없앴다. 그리고 insert로 그 위치에 넣어줬다.
def isLucky(n): return sum(int(i) for i in str(n)[:len(str(n))//2]) == sum(int(i) for i in str(n)[len(str(n))//2:]) str로 만들어준다음에 슬라이싱으로 반 잘라 합이 같은지 비교했다.
from collections import Counter def commonCharacterCount(s1, s2): common_letters = Counter(s1) & Counter(s2) return sum(common_letters.values()) 딱히 Counter말고 떠오르는게 없어서 Counter를 썼다. def commonCharacterCount(s1, s2): com = [min(s1.count(i),s2.count(i)) for i in set(s1)] return sum(com) 다른 풀이를 보면 set으로 중복을 없앤 다음 파이썬 str 메서드중 count를 이용해 갯수를세 가장 최소를 구했다.
def allLongestStrings(inputArray): maxd = 0 for i in inputArray: maxd = max(maxd,len(i)) return [i for i in inputArray if len(i) == maxd] 나머지 풀이들을 봤는데 max함수에 key를 len으로만 줘서 반복문 돌릴필요가 없었던것이 신기했다. def allLongestStrings(inputArray): return [i for i in inputArray if len(i) == len(max(inputArray, key=len))]
After becoming famous, the CodeBots decided to move into a new building together. Each of the rooms has a different cost, and some of them are free, but there's a rumour that all the free rooms are haunted! Since the CodeBots are quite superstitious, they refuse to stay in any of the free rooms, or any of the rooms below any of the free rooms. Given matrix, a rectangular matrix of integers, wher..