본문 바로가기

프로그래머스/Python

(25)
[프로그래머스] 제곱수 판별하기 (Python) 문제문제링크정수 n이 제곱수면 1, 아니면 2를 return하도록 solution 함수를 완성하라. 풀이n의 루트값을 sqrt에 저장한다.만약 n이 제곱근이라면 sqrt와 sqrt의 정수값이 같아야 한다.기본을 제곱수(1)인 것으로 두고 제곱근이 아닌 경우, 즉 sqrt != sqrt의 정수값 인 경우에만 1을 더한다. 코드def solution(n): sqrt=n**(1/2) return 1 + (sqrt != int(sqrt))
[프로그래머스] 문자열 안에 문자열 (Python) 문제문제링크str1 안에 str2가 있다면 1, 없으면 2를 return하도록 solution 함수를 완성하라. 풀이기본값을 1로 설정하고 str2가 str1 안에 없는 경우에만 1을 더하는 방식을 사용했다. 코드def solution(str1, str2): return 1+(str2 not in str1)
[프로그래머스] 배열 원소의 길이 (Python) 문제문제링크문자열 배열 strlist의 각 원소의 길이 담은 배열을 return하도록 solution 함수를 완성하라. 코드def solution(strlist): return [len(i) for i in strlist]
[프로그래머스] 피자 나눠 먹기(3) (Python) 문제문제링크한 판당 피자 조각 수 slice와 피자 먹는 사람 수 n이 주어질 때,각자 최소 한 조각 이상을 먹으려면 몇 판을 시켜야 하는지를 return하도록 solution 함수를 완성하라. 풀이모두 한 명당 한 조각씩 먹는다고 가정한다. n을 slice로 나눈 몫은 완전한 피자 판의 수이다.마지막 피자 한 판이 남을 경우에도 피자 한 판을 구매해야 하므로 (n%slice!=0)을 추가해 보정해주었다. 코드def solution(slice, n): return (n//slice)+(n%slice!=0)
[프로그래머스] 배열의 유사도 (Python) 문제문제링크두 배열이 주어질 때, 같은 원소의 개수를 return하도록 soluton 함수를 완성하라. 풀이s1+s2는 두 배열을 단순히 더한다. 중복값을 제거하지 않는다.이를 set으로 중복값을 제거한 집합을 s12에 저장한다.s에서 s12를 빼면 중복값들만 남으므로 두 배열의 길이의 차를 구하면 된다. 코드def solution(s1, s2): s=s1+s2 s12=set(s) return len(s)-len(s12)
[프로그래머스] 머쓱이보다 키 큰 사람 (Python) 문제문제링크친구들의 키가 담긴 정수 배열 array와 머쓱이의 키 height가 주어질 때,머쓱이보다 키 큰 사람 수를 return하도록 solution 함수를 완성하라. 풀이리스트 컴프리헨션과 len()을 조합해 리스트에 height보다 큰 요소만 남기고 남은 요소들의 개수를 센다. 코드def solution(array, height): answer=len([i for i in array if i>height]) return answer
[프로그래머스] 짝수의 합 (Python) 문제문제링크정수 n이 주어질 때, n 이하의 짝수를 모두 더한 값을 return하도록 solution 함수를 작성하라. 풀이정수 n이 주어질 때 최대 짝수는 n을 2로 나눈 몫에 2를 곱한 값이다.even을 2로 나눈 몫으로 정의하고 even까지의 합을 구해 2를 곱하면 문제에서 원하는 값이 나온다.합공식(i(i+1)/2)을 이용해 even까지의 합을 구하고 2를 곱해 return한다. 코드def solution(n): even=n//2 answer=(even*(even+1)//2)*2 return answer
[프로그래머스] 양꼬치 (Python) 문제문제링크10인분을 먹었을 때 음료수 하나를 서비스로 준다.1인분 당 양꼬치는 12000원, 음료수는 2000원이다.양꼬지 n인분과 음료수 k개를 먹었을 때 지불해야 하는 금액을 return하도록 solution 함수를 완성하라.# solution 함수def solution(n, k): answer = 0 return answer 코드def solution(n, k): return 12000*n+2000*(k-n//10)