본문 바로가기
반응형

코딩테스트12

[파이썬🐍] 프로그래머스 : 신규 아이디 추천 def solution(new_id): # 1단계 new_id = new_id.lower() # 2단계 answer = '' for word in new_id: if word.isalnum() or word in '-_.': answer += word # 3단계 while '..' in answer: answer = answer.replace('..', '.') # 4단계 answer = answer[1:] if answer[0] == '.' and len(answer) > 1 else answer answer = answer[:-1] if answer[-1] == '.' else answer # 5단계 answer = 'a' if answer == '' else answer # 6단계 if len(an.. 2021. 4. 18.
[파이썬🐍] 프로그래머스 : 두 개 뽑아서 더하기 def solution(numbers): answer = [] for i in range(len(numbers)): for j in range(i+1, len(numbers)): if numbers[i] + numbers[j] not in answer: answer.append(numbers[i] + numbers[j]) answer.sort() return answer풀고나서 다른 분들의 풀이를 보니까 정말 간단하고 효율적으로 푼 문제들이 있었다!!from itertools import combinations def solution(numbers): return sorted(list(set([sum([i,j]) for i,j in combinations(numbers,2)])))바로 이코드이다. ite.. 2021. 4. 16.
[파이썬🐍] 프로그래머스 : 튜플 기본적인 파이썬 함수들을 잘 알고 있으면 쉬운 문제였다. 나는 이 문제를 풀면서 eval()이라는 함수를 처음 접하게 되었다. eval()은 ""를 없애주고 본연의 값만 가져온다 def solution(s): #"{{1,2,3},{2,1},{1,2,4,3},{2}}" answer=[] s = list(eval(s[1:-1])) #[{1, 2, 3}, {1, 2}, {1, 2, 3, 4}, {2}].......1 if len(s) == 1: answer.append(s[0]) else: temp=sorted(s,key=lambda x: len(x)) #[{2}, {1, 2}, {1, 2, 3}, {1, 2, 3, 4}].......2 temp=[list(i) for i in temp] #[[2], [1, .. 2021. 4. 16.
보초법 종료조건을 검사하는 비용을 줄이는 방법! ex> 배열에서 특정 숫자를 검색할 경우 ('1' 검색 성공) 6 1 3 2 1 8 1 ('5' 검색 실패) 6 2 4 1 9 8 5 위 배열처럼 찾고자 하는 key를 배열의 맨 끝에 저장해준다. while True: if i == len(a): #검색 실패(끝까지 간 것을 의미) if a[i] == key: #검색 성공 i += 1 while True: if a[i] == key: break i+=1 return -1 if i == len(seq) else i #끝에서 발견했다면 보초이므로 못찾은 것 2021. 4. 15.
반응형