공부/📝 프로그래머스(126)
-
점의 위치 구하기 - Python
def solution(dot): if dot[0] > 0: if dot[1] > 0: answer = 1 else: answer = 4 else: if dot[1] > 0: answer = 2 else: answer = 3 return answer # Test Cases print(solution([2, 4])) print(solution([-7, 9])) 조건문으로 풀었습니다. def solution(dot): quad = [(3,2),(4,1)] return quad[dot[0] > 0][dot[1] > 0] 그런데 이렇게도 풀 수 있었군요. 창의력이 대단합니다. 프로그래머스: https://school.programmers.co.kr/learn/courses/30/lessons/120841 프로그..
2023.09.21 -
편지 - Python
def solution(message): return 2 * len(message) # Test Cases print(solution("happy birthday!")) print(solution("I love you~")) 쉬운 문제인데 재밌는 풀이를 발견하여 글을 남깁니다. def solution(message): return len(message)
2023.09.21 -
배열 원소의 길이 - Python
def solution(strlist): answer = [] for item in strlist: answer.append(len(item)) return answer # Test Cases print(solution(["We", "are", "the", "world!"])) print(solution(["I", "Love", "Programmers."])) 위와 같이 풀었습니다. def solution(strlist): answer = list(map(len, strlist)) return answer map()을 잘 쓰면 이렇게도 되네요. 프로그래머스: https://school.programmers.co.kr/learn/courses/30/lessons/120854 프로그래머스 코드 중심의 개발자..
2023.09.21 -
순서쌍의 개수 - Python
def solution(n): answer = 0 for i in range(1, n+1): if not (n % i): answer += 1 return answer # Test Cases print(solution(20)) print(solution(100)) 평범하게 했습니다. def solution(n): return len(list(filter(lambda v: n % (v+1) == 0, range(n)))) 신기한 풀이를 발견하여 소개합니다. range(n)은 0부터 n-1까지의 정수를 포함하는 리스트를 생성합니다. lambda v: n % (v+1) == 0는 람다 함수입니다. 이 함수는 입력값 v에 대해 n이 (v+1)로 나누어 떨어지는지를 검사합니다. filter(lambda v: n ..
2023.09.21 -
진료 순서 정하기 - Python
def solution(emergency): answer = [] sorted_list = sorted(emergency, reverse=True) for item in emergency: for i in range(len(sorted_list)): if item == sorted_list[i]: answer.append(i+1) break return answer # Test Cases print(solution([3, 76, 24])) print(solution([1, 2, 3, 4, 5, 6, 7])) print(solution([30, 10, 23, 6, 100])) 이중반복문을 쓴게 시간 복잡도 면에서 좀 걸렸습니다. def solution(emergency): e = sorted(emergen..
2023.09.21 -
외계행성의 나이 - Python
def solution(age): age_str = str(age) char_map = { '0': 'a', '1': 'b', '2': 'c', '3': 'd', '4': 'e', '5': 'f', '6': 'g', '7': 'h', '8': 'i', '9': 'j' } answer = ''.join(char_map[char] for char in age_str) return answer # Test Cases print(solution(23)) print(solution(51)) print(solution(100)) replace 안 써보려고 했습니다. def solution(age): return ''.join([chr(int(i)+97) for i in str(age)]) 그런 생각에 이걸 까먹은 ..
2023.09.21 -
짝수의 합 - Python
def solution(n): answer = 0 for i in range(0, n + 1, 2): answer += i return answer # Test Cases print(solution(10)) print(solution(4)) 또 생각없이 풀었습니다. def solution(n): return 2*(n//2)*((n//2)+1)/2 이와 같이 등차수열의 합을 나타낼 수 있는데 말이죠... 반성하게 됩니다. 프로그래머스: https://school.programmers.co.kr/learn/courses/30/lessons/120831 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받..
2023.09.21