본문 바로가기

Python

(36)
프로그래머스 - 문자열 내림차순으로 배치하기 문제 https://school.programmers.co.kr/learn/courses/30/lessons/12917 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 해설 def solution(s): return ''.join(reversed(sorted(s))) sorted 메서드를 사용하여 해당 문자열을 list로 정렬한다. reversed 메서드를 사용하여 리스트를 역순으로 바꾼다. join 메서드를 사용하여 빈 문자열에 역순으로 정렬된 리스트를 합친다.
프로그래머스 - 크기가 작은 부분 문자열 문제 https://school.programmers.co.kr/learn/courses/30/lessons/147355 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 해설 def solution(t, p): answer = 0 for i in range(0,len(t)): if (len(t[i:i+len(p)]) == len(p)): if int(t[i:i+len(p)])
프로그래머스 - 콜라츠 추측 문제 https://school.programmers.co.kr/learn/courses/30/lessons/12943 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 해설 def solution(num): answer = num count = 0 for _ in range(500): if answer == 1: break if answer % 2 == 0: answer /= 2 else: answer = answer * 3 + 1 count += 1 return count if answer == 1 else -1 설명에 나온대로, 짝수면 2로 나누고 홀수..
프로그래머스 - 삼각 달팽이 문제 https://school.programmers.co.kr/learn/courses/30/lessons/68645 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 해설 삼각형이라는 구조를 생각해보고 그림을 유심히 보면, n=5 일 때, 1번에서 아래 방향으로 순차적으로 [1,2,3,4,5]까지 채우고 방향을 오른쪽으로 바꿔서 [6,7,8,9] 채우고 방향을 바꿔서 [10,11,12] 채우고 다시 방향 바꿔서 [13,14] 채우고 방향 바꿔서 [15]채운다. 즉, n = 5일 때 [1,2,3,4,5], [6,7,8,9], [10,11,12], [13,1..
프로그래머스 - 숫자 문자열과 영단어 문제 https://school.programmers.co.kr/learn/courses/30/lessons/81301 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 해설 def solution(s): num_dict = { 'zero':'0', 'one':'1', 'two':'2', 'three':'3', 'four':'4', 'five':'5', 'six':'6', 'seven':'7', 'eight':'8', 'nine':'9' } answer = '' word = '' for elem in s: if elem.isdecimal(): answer +..
프로그래머스 - 체육복 https://school.programmers.co.kr/learn/courses/30/lessons/42862?language=python3 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 해설 def solution(n, lost, reserve): answer = n rest_in_lost_count = 0 # lost 배열을 정렬해준다. lost.sort() filtered_lost = [] # 여벌있는 학생이 도난당했을 경우, 본인의 체육복 1개만 있으니 빌려줄 수 없다. for lost_num in lost: if reserve.count(lo..
프로그래머스 - 부족한 금액 계산하기 https://school.programmers.co.kr/learn/courses/30/lessons/82612 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 해설 def solution(price, money, count): answer = 0 # 1회 이용시 # money - price # 2회 이용시 # money - (price + price * 2) # 3회 이용시 # money - (price + price * 2 + price * 3) # N회 이용시 # money - price(1+2+3+...N) total_price = sum(rang..
프로그래머스 - 핸드폰 번호 가리기 문제 프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다. 전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요. 제한조건 - phone_number는 길이 4 이상, 20이하인 문자열입니다. 해설 def solution(phone_number): answer = '' for i in range(len(phone_number)): if (i < len(phone_number) - 4): answer += '*' else: answer += phone_number[i] return answer 반복문을 사용하여 현재의 인덱스가 주어진 전화번호..