[개발]programmers/Python3 76

Lv.1_크기가 작은 부분문자열

https://school.programmers.co.kr/learn/courses/30/lessons/147355 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(t, p): answer = 0 length = len(p) num = [] for i in range(0, len(t)-length+1): num.append(t[i:i+length]) for i in num: if i

Lv.1_[1차] 비밀지도

https://school.programmers.co.kr/learn/courses/30/lessons/17681?language=python3 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(n, arr1, arr2): answer = [] for i in range(n): tmp = bin(arr1[i] | arr2[i]) tmp = tmp[2:].zfill(n) tmp = tmp.replace('1','#').replace('0',' ') answer.append(tmp) return answer 1. tmp에 arr1과 arr..

Lv.1_숫자 문자열과 영단어

https://school.programmers.co.kr/learn/courses/30/lessons/81301 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(s): eng = {'zero':0, 'one':1, 'two':2, 'three':3, 'four':4, 'five':5, 'six':6, 'seven':7, 'eight':8, 'nine':9} for i in eng.items(): s = s.replace(i[0], str(i[1])) return int(s) replace(값, 바꿀 값) 잊지 말자!

Lv.1_K번째수

https://school.programmers.co.kr/learn/courses/30/lessons/42748 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(array, commands): answer = [] for i in range(len(commands)): start = commands[i][0] end = commands[i][1] num = commands[i][2] tmp = array[start-1:end] tmp.sort() answer.append(tmp[num-1]) return answer

Lv.1_두 개 뽑아서 더하기

https://school.programmers.co.kr/learn/courses/30/lessons/68644 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 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]) return sorted(answer) 리스트에 없는 것만 추가하는 방법 (..

Lv.1_문자열 내 마음대로 정렬하기

https://school.programmers.co.kr/learn/courses/30/lessons/12915 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(strings, n): return sorted(strings, key = lambda x: (x[n], x)) 정렬에서 특정한 값(키워드)를 사용하고 싶을 때는 key를 사용한다 여기서 lambda는 일종의 익명 함수를 사용한다는 뜻이다 따라서 위 식을 해석해보자면, strings를 key 값에 따라 정렬할 것인데 key값은 lambda 함수에서 정의한 값대로이고, x는 ..

Lv.2_H-Index

https://school.programmers.co.kr/learn/courses/30/lessons/42747?language=python3 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(citations): citations.sort() for i in range(len(citations)): if citations[i] >= len(citations)-i: return len(citations)-i return 0 return을 이렇게 쓰는 방법도 있다 항상 느끼지만 코딩에서 가장 중요한 것은 문제 이해인듯하다

Lv.2_멀리 뛰기

https://school.programmers.co.kr/learn/courses/30/lessons/12914 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(n): if n < 3: return n else: d = [0] * (n+1) d[1] = 1 d[2] = 2 for i in range(3, n+1): d[i] = d[i-1] + d[i-2] return d[-1] % 1234567 숫자 형태를 보고 어디선가 많이 본 것 같다...했는데 피보나치 수열이었다ㄷㄷㄷ 그래서 피보나치 수열을 프로그래밍하고 %1234567하면 ..

Lv.2_N개의 최소공배수

https://school.programmers.co.kr/learn/courses/30/lessons/12953 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr from math import gcd def solution(arr): answer = arr[0] for i in range(1,len(arr)): answer = (answer * arr[i]) // gcd(answer, arr[i]) return answer gcd함수 기억하자