코딩테스트 연습 - 약수의 개수와 덧셈 | 프로그래머스 스쿨 (programmers.co.kr)
내 풀이
def solution(left, right):
result=0
num=0
for i in range(left, right+1):
for j in range(1,i+1):
if i%j==0:
num+=1
if num%2==1:
result-=i
else:
result+=i
return result
풀이
def solution(left, right):
result=0
for i in range(left, right+1):
num=0
for j in range(1,i+1):
if i%j==0:
num+=1
if num%2==1:
result-=i
else:
result+=i
return result
num 위치만 바꿨는데 정답..? 계속 고쳤는데 뭥미
i 값이 바뀔 때마다 num이 0으로 초기화 되어야 해서 그런가 봄
풀이2
def solution(left, right):
answer = 0
for i in range(left,right+1):
if int(i**0.5)==i**0.5:
answer -= i
else:
answer += i
return answer
제곱수는 약수의 개수가 홀수라는 점을 이용한 풀이
코딩테스트 연습 - 이상한 문자 만들기 | 프로그래머스 스쿨 (programmers.co.kr)
문제 설명
문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하요.
내 풀이 (오답)
def solution(s):
result=''
for i in range(0,len(s)):
if i%2==0:
result+=s[i].upper()
else i%2==1:
result+=s[i]
return result
풀이
def solution(s):
ans = ''
for word in s.split(" "):
for i, p in enumerate(word):
if i % 2 == 0:
ans += p.upper()
else:
ans += p.lower()
ans += ' '
return ans[:-1]
s='hello world'
for word in s.split(" "):
print(word)
>>> hello
world
코딩테스트 연습 - 나누어 떨어지는 숫자 배열 | 프로그래머스 스쿨 (programmers.co.kr)
문제 설명
중앙값은 어떤 주어진 값들을 크기의 순서대로 정렬했을 때 가장 중앙에 위치하는 값을 의미합니다. 예를 들어 1, 2, 7, 10, 11의 중앙값은 7입니다. 정수 배열 array가 매개변수로 주어질 때, 중앙값을 return 하도록 solution 함수를
완성해보세요.
내 풀이
def solution(arr, divisor):
result=[]
i for i in arr if i%divisor==0:
result.append(i)
if len(result)==0:
return [-1]
return sorted(result)
풀이
def solution(array):
return sorted(array)[len(array) // 2]
코딩테스트 연습 - 실패율 | 프로그래머스 스쿨 (programmers.co.kr)
내 풀이
def solution(N, stages):
array=[]
result=[]
num=set(stages)
num_sort=sorted(num)
for i in num_sort:
array.append(stages.count(i))
numm=len(stages)
for i in array:
result.append(i/numm)
numm-=i
return sorted(num,reverse=True)
풀이
def solution(N, stages):
result = {}
users = len(stages)
for stage in range(1, N+1):
if users != 0:
count = stages.count(stage)
result[stage] = count / users
users -= count
else:
result[stage] = 0
return sorted(result, key=lambda x : result[x], reverse=True)
'코딩테스트 > programmers (python)' 카테고리의 다른 글
python/ Lv.1 정수 제곱근 판별, 자연수 뒤집어 배열 (0) | 2023.03.08 |
---|---|
python/ Lv.1 모의고사, 정수 사이의 합, 서울에서 김서방 찾기 (0) | 2023.02.23 |
python/ Lv.1 K번째 수 (0) | 2023.02.04 |
python/ Lv.1 콜라문제, 소수찾기, 숫자 문자열과 영단어 (0) | 2023.02.03 |
python/ Lv.1 문자열 내 마음대로 정렬하기, 두 개 뽑아서 더하기 (0) | 2023.01.27 |