[프로그래머스]소수찾기-Python3
·
코딩테스트/프로그래머스
{{문제}} 1부터 입력받은 숫자 n 사이에 있는 소수의 개수를 반환하는 함수, solution을 만들어 보세요. 소수는 1과 자기 자신으로만 나누어지는 수를 의미합니다. (1은 소수가 아닙니다.) ※제한 조건※ n은 2이상 1000000이하의 자연수입니다. {{풀이}} def solution(n): l = list(filter(lambda x: x%2!=0, range(1, n+1))) #짝수 거르기 cnt = 0 result = 0 for j in l: for i in range(1, n+1): if j%i == 0: cnt +=1 #print(j,'-',cnt) [1,n] 각각의 홀수가 갖는 약수의 개수 if cnt == 2: result += 1 cnt = 0 return result+1 #짝수 ..
[프로그래머스]문자열다루기기본-Python3
·
코딩테스트/프로그래머스
{{문제설명}} 문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 a234이면 False를 리턴하고 1234라면 True를 리턴하면 됩니다. ※제한 사항※ s는 길이 1 이상, 길이 8 이하인 문자열입니다. {{풀이}} def solution(s): return s.isdigit() and (len(s) == 4 or len(s) == 6)
[프로그래머스]최대공약수와최대공배수-Python3
·
코딩테스트/프로그래머스
{{문제}} 두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환하는 함수, solution을 완성해 보세요. 배열의 맨 앞에 최대공약수, 그다음 최소공배수를 넣어 반환하면 됩니다. 예를 들어 두 수 3, 12의 최대공약수는 3, 최소공배수는 12이므로 solution(3, 12)는 [3, 12]를 반환해야 합니다. {{풀이}} def solution(n, m): answer = [] l = [] #최대 공약수 구하기 if n>m: for i in range(1,m+1): if n%i == 0 and m%i == 0: answer.append(i) else: for i in range(1,n+1): if n%i == 0 and m%i == 0: answer.append(i) l.append(max(a..
[프로그래머스]짝수와홀수-Python3
·
코딩테스트/프로그래머스
{{문제설명}} 정수 num이 짝수일 경우 Even을 반환하고 홀수인 경우 Odd를 반환하는 함수, solution을 완성해주세요. ※제한 조건※ num은 int 범위의 정수입니다. 0은 짝수입니다. {{풀이}} def solution(num): return "Odd" if abs(num)%2 != 0 else "Even"
[프로그래머스]완주하지못한선수-Python3
·
코딩테스트/프로그래머스
{{문제설명}} 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요. ※제한사항※ 마라톤 경기에 참여한 선수의 수는 1명 이상 100,000명 이하입니다. completion의 길이는 participant의 길이보다 1 작습니다. 참가자의 이름은 1개 이상 20개 이하의 알파벳 소문자로 이루어져 있습니다. 참가자 중에는 동명이인이 있을 수 있습니다. {{예시}} participant completion return ["leo"..
[프로그래머스]3진법뒤집기-Python3
·
코딩테스트/프로그래머스
{{문제}} 자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. ※제한사항※ n은 1이상 100,000,000 이하인 자연수입니다. {{입출력 예시}} n (10진법) n (3진법) 앞뒤 반전(3진법) 10진법으로 표현 45 1200 0021 7 따라서 7을 return 해야 합니다. {{풀이}} def solution(n): answer = 0 notation = 3 #3진법 notDone = True remainders = [] #나머지 리스트 quotient = n #몫 seq = 0 #for문에 쓰일 지수 while notDone: if notation > quotient: notD..