공부/📝 프로그래머스(126)
-
수박수박수박수박수박수? - Python
1. 풀이 코드 def solution(n): return ''.join(["박" if i % 2 else "수" for i in range(n)]) # Test Cases print(solution(3)) print(solution(4)) 위와 같이 풀었습니다. 2. 다른 사람의 풀이 코드 # 문제가 개편되었습니다. 이로 인해 함수 구성이나 테스트케이스가 변경되어, 과거의 코드는 동작하지 않을 수 있습니다. # 새로운 함수 구성을 적용하려면 [코드 초기화] 버튼을 누르세요. 단, [코드 초기화] 버튼을 누르면 작성 중인 코드는 사라집니다. def water_melon(n): # 함수를 완성하세요. return "수박" * (n//2) + "수" * (n%2) # 실행을 위한 테스트코드입니다. print..
2023.10.13 -
가운데 글자 가져오기 - Python
1. 풀이 코드 def solution(s): size = len(s) return s[size//2:size//2 + 1] if size % 2 == 1 else s[size//2 - 1:size//2 + 1] # Test Cases print(solution("abcde")) print(solution("qwer")) 위와 같이 풀었습니다. 2. 다른 사람의 풀이 코드 solution = lambda s: s[(len(s) - 1) // 2 : len(s) // 2 + 1] 수학적 능력이 대단한 풀이네요. 프로그래머스:https://school.programmers.co.kr/learn/courses/30/lessons/12903 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로..
2023.10.13 -
제일 작은 수 제거하기 - Python
1. 풀이 코드 def solution(arr): arr.remove(min(arr)) return arr or [-1] # Test Cases print(solution([4, 3, 2, 1])) print(solution([10])) 위와 같이 풀었습니다. 2. 틀린 코드 def solution(arr): return [item for item in arr if item != min(arr)] or [-1] # Test Cases print(solution([4, 3, 2, 1])) print(solution([10])) 처음에 이렇게 하니까 min(arr)을 매번 계산해야하므로 시간초과가 떴습니다. 편하자고 min()을 썼다가 틀린 코드가 되었네요. def solution(arr): return a..
2023.10.11 -
나누어 떨어지는 숫자 배열 - Python
1. 풀이 코드 def solution(arr, divisor): answer = [item for item in arr if item % divisor == 0] return sorted(answer) if len(answer) > 0 else [-1] # Test Cases print(solution([5, 9, 7, 10], 5)) print(solution([2, 36, 1, 3], 1)) print(solution([3, 2, 6], 10)) 위와 같이 풀었습니다. 2. 다른 사람의 풀이 코드 def solution(arr, divisor): return sorted([n for n in arr if n%divisor == 0]) or [-1] 저는 if()를 통해 값을 리턴했는데, 위의 코드를..
2023.10.11 -
음양 더하기 - Python
1. 풀이 코드 def solution(absolutes, signs): return sum([a if b else -a for a, b in zip(absolutes, signs)]) # Test Cases print(solution([4, 7, 12], [True, False, True])) print(solution([1, 2, 3], [False, False, True])) zip()을 사용하여 두 iterable 객체를 묶어 튜플로 만든 뒤, 반복문을 작성하였습니다. zip()을 사용할 때 길이가 다른 객체를 넣을 경우 짧은 길이의 객체에 맞춘다는 사실을 새로 알았습니다. 프로그래머스: https://school.programmers.co.kr/learn/courses/30/lessons/765..
2023.10.11 -
두 정수 사이의 합 - Python
def solution(a, b): return sum(i for i in range(min(a, b), max(a, b) + 1)) # Test Cases print(solution(3, 4)) print(solution(3, 3)) print(solution(5, 3)) 처음에는 위와 같이 풀었는데... def solution(a, b): return sum(range(min(a, b), max(a, b) + 1)) # Test Cases print(solution(3, 4)) print(solution(3, 3)) print(solution(5, 3)) 이와 같이 바꿨습니다. for()은 필요하지 않네요. # 문제가 개편되었습니다. 이로 인해 함수 구성이나 테스트케이스가 변경되어, 과거의 코드는 동..
2023.10.07 -
정수 내림차순으로 배치하기 - Python
def solution(n): return int(''.join(sorted([i for i in str(n)], reverse=True))) # Test Cases print(solution(118372)) 위와 같이 풀었습니다. def solution(n): return int(''.join(sorted(list(str(n)), reverse = True))) # Test Cases print(solution(118372)) 문득 반복문 없어도 되지 않았나 싶어서 다시 고쳤습니다. 프로그래머스: https://school.programmers.co.kr/learn/courses/30/lessons/12933 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형..
2023.10.07