프로그래머스(파이썬)

    문자 반복 출력 - 빈 문자열 이용

    문제풀이 def solution(my_string, n): str='' for i in my_string: str+=i*n return str

    배열 뒤집기

    배열 뒤집기 - 다양한 방법 존재 def solution(num_list): reverse_list=[] for i in range(len(num_list)-1, -1, -1): reverse_list.append(num_list[i]) def solution(num_list): return num_list[::-1] def solution(num_list): result =[] while(num_list): result.append(num_list.pop()) return result

    연속된 수의 합

    문제풀이 우리가 구하고자 하는 answer의 첫째항을 a로 가정한 후, a를 구하면 num만큼 반복시켜 answer를 구성할 예정입니다. total = a + (a+1) + (a+2) + ... + (a+n-1) total = (a+n-1) + (a+n-2) + (a+n-3) + ... +a 좌변, 우변끼리 더하면 2total = (2a+n-1) + (2a+n-1) + (2a+n-1) + ... (2a+n-1) 입니다. 여기서 우변의 반복되는 항은 n개가 있으므로 다시 정리하면 2total = (2a+n-1)n이 됩니다. num개 =n개이므로 이제 a를 구해보자면... a = (2*total/num + 1 - num) / 2 a는 starting point입니다. 이제 a를 구했으니 for문을 0부터 ~..

    겹치는 선분의 길이 - 프로그래머스

    문제풀이 - 파이썬 def solution(lines): sets = [set(range(min(l), max(l))) for l in lines] return len(sets[0] & sets[1] | sets[0] & sets[2] | sets[1] & sets[2]) ▶ set(range(n)) 의 경우 0~n-1까지 n크기의 set이 만들어 진다. ▶ l 임시변수가 2차원 배열 lines의 각 행에 접근한다. ▶ 각 행의 작은 값과 큰 값을 찾아서 작은 값에서 큰 값 직전범위까지 값을 set에 대입한다. ▶ sets는 리스트이며, set자료형을 리스트sets가 감싸고 있다. ▶ 따라서 sets 리스트의 각 원소는 set자료형이다. ▶ set자료형 &는 교집합, | 는 합집합을 의미한다. ▶ 교집합..