[개발]programmers/Python3 76

Lv.0_유한소수 판별하기

https://school.programmers.co.kr/learn/courses/30/lessons/120878?language=python3 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr import math def solution(a, b): b //= math.gcd(a, b) while b % 2 == 0: b //= 2 while b % 5 == 0: b //= 5 return 1 if b == 1 else 2 최대공약수 구하는 함수: math.gcd 2와 5로만 구성된 숫자 == 2와 5로 나누면 1이 됨 이 두가지를 기억하자!

Lv.0_영어가 싫어요

https://school.programmers.co.kr/learn/courses/30/lessons/120894 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(numbers): nums = ["zero","one","two","three","four","five","six","seven","eight","nine"] for index, num in enumerate(nums): numbers = numbers.replace(num, str(index)) return int(numbers) enumerate와 replace 함수를..

Lv.0_진료순서 정하기

https://school.programmers.co.kr/learn/courses/30/lessons/120835 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(emergency): answer = [] temp = sorted(emergency, reverse = True) for e in emergency: answer.append(temp.index(e)+1) return answer 너무 어렵게 생각한듯하다.. 딕셔너리말고 이렇게 쉬운 방법이 있었는데!!

Lv.0_2차원으로 만들기

https://school.programmers.co.kr/learn/courses/30/lessons/120842 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음에 푼 코드 def solution(num_list, n): answer = [] for i in range(len(num_list)//n): answer.append(num_list[i*n:(i+1)*n]) return answer 단순히 슬라이스를 활용하면 되는 문제였다 하지만, 뭔가 numpy를 쓰고 싶어서 찾아본 결과 import numpy as np def solution(num_l..

Lv.0_중복된 문자 제거

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

Lv.0_문자열 잘라서 정렬하기

https://school.programmers.co.kr/learn/courses/30/lessons/181866 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(myString): answer = list(filter(None, myString.split("x"))) return sorted(answer) 처음 생각은 answer = list(myString.split('x')) 였다. 하지만 이렇게 코드를 짤 경우 x가 2번 연속해서 나온다거나, 맨 마지막 항목이 x인 경우 ""인 형태의 값이 리스트에 추가된다는 점이다. 이걸 ..

Lv.1_추억 점수

https://school.programmers.co.kr/learn/courses/30/lessons/176963 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(name, yearning, photo): info = dict(zip(name, yearning)) result = [] for line in photo: score = 0 for people in line: score += info.get(people, 0) result.append(score) return result 이번 문제를 통해서 dict 함수와 zip 함수를..

Lv.1_ 달리기 경주

https://school.programmers.co.kr/learn/courses/30/lessons/178871?language=python3 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(players, callings): rank = {player: i for i, player in enumerate(players)} #선수: 등수 for people in callings: player_index = rank[people] #불린 선수 현재 등수 rank[people] -= 1 #앞으로 한 칸 가기 rank[players[p..