전체 글(177)
-
삼총사 - Python
1. 풀이 코드 def solution(number): answer = 0 number.sort() for i in range(len(number) - 2): for j in range(i + 1, len(number) - 1): for k in range(j + 1, len(number)): if number[i] + number[j] + number[k] == 0: answer += 1 return answer # Test Cases print(solution([-2, 3, 0, -3, -5])) print(solution([-3, -2, -1, 0, 1, 2, 3])) print(solution([-1, 1, -1, 1])) for()문을 세 번 사용하여 검사했습니다. 2. 다른 사람 풀이 코드 d..
2023.10.14 -
예산 - Python
1. 풀이 코드 def solution(d, budget): d = sorted(d) sum_num = 0 for i in range(len(d)): sum_num += d[i] if sum_num > budget: return i return len(d) # Test Cases print(solution([1, 3, 2, 5, 4], 9)) print(solution([2, 2, 3, 3], 10)) 위와 같이 풀었습니다. 2. 다른 사람 풀이 코드 def solution(d, budget): d.sort() while budget < sum(d): d.pop() return len(d) 총합에서 하나씩 빼도록 접근했네요. 좋은 방식으로 보입니다. 프로그래머스: https://school.program..
2023.10.14 -
이진 변환 반복하기 - Python
1. 풀이 코드 def solution(s): zero = 0 count = 0 while s != '1': zero += s.count('0') s = s.replace('0', '') s = str(bin(len(s)))[2:] count += 1 return [count, zero] # Test Cases print(solution("110010101001")) print(solution("01110")) print(solution("1111111")) 차근차근 풀었습니다. 2. 다른 사람 풀이 코드 def solution(s): a, b = 0, 0 while s != '1': a += 1 num = s.count('1') b += len(s) - num s = bin(num)[2:] return..
2023.10.14 -
올바른 괄호 - Python
1. 풀이 코드 def solution(s): answer = [] for item in s: if item == '(': answer.append('(') else: if len(answer) == 0: return False elif answer.pop() == '(': pass else: return False return True if len(answer) == 0 else False # Test Cases print(solution("()()")) print(solution("(())()")) print(solution(")()(")) print(solution("(()(")) 위와 같이 스택으로 풀었습니다. 2. 다른 사람 풀이 def solution(s): answer = [] for ite..
2023.10.14 -
최솟값 만들기 - Python
1. 풀이 코드 def solution(A, B): return sum([a*b for a, b in zip(sorted(A), sorted(B, reverse=True))]) # Test Cases print(solution([1, 4, 2], [5, 4, 4])) print(solution([1, 2], [3, 4])) 간단하게 풀었습니다. 더보기 1) 틀린 코드 import numpy as np def solution(A, B): answer = float('inf') A_list = [] B_list = [] for i in range(len(A)): A_list.append(A[i - len(A):] + A[:i]) for i in range(len(B)): B_list.append(B[i - ..
2023.10.14 -
JadenCase 문자열 만들기 - Python
1. 풀이 코드 def solution(s): s = s.lower().capitalize() answer = '' for i in range(len(s)): if i != 0 and s[i - 1] == " ": answer += s[i].upper() else: answer += s[i] return answer # Test Cases print(solution("3people unFollowed me")) print(solution("for the last week")) 아는 내에서 재량껏 풀었습니다. 2. 다른 사람 풀이 코드 # 문제가 개편되었습니다. 이로 인해 함수 구성이나 테스트케이스가 변경되어, 과거의 코드는 동작하지 않을 수 있습니다. # 새로운 함수 구성을 적용하려면 [코드 초기화] 버..
2023.10.14 -
3진법 뒤집기 - Python
1. 풀이 코드 def solution(n): temp_str = '' answer = 0 digit = 1 while n > 0: temp_str += str(n % 3) n //= 3 for i in temp_str[::-1]: answer += int(i) * digit digit *= 3 return answer # Test Cases print(solution(45)) print(solution(125)) 차근차근 진행했습니다. 2. 다른 사람 풀이 코드 def solution(n): tmp = '' while n: tmp += str(n % 3) n = n // 3 answer = int(tmp, 3) return answer int()에 이런 기능이 있었네요..? 프로그래머스: https:/..
2023.10.14 -
같은 숫자는 싫어 - Python
1. 풀이 코드 def solution(arr): temp = -1 answer = [] for item in arr: if temp == item: pass else: temp = item answer.append(item) return answer # Test Cases print(solution([1, 1, 3, 3, 0, 1, 1])) print(solution([4, 4, 4, 3, 3])) 위와 같이 이전의 값을 temp에 저장하여 비교하면서 반환 리스트를 만들었습니다. 2. 다른 사람 풀이 코드 # 문제가 개편되었습니다. 이로 인해 함수 구성이나 테스트케이스가 변경되어, 과거의 코드는 동작하지 않을 수 있습니다. # 새로운 함수 구성을 적용하려면 [코드 초기화] 버튼을 누르세요. 단, [코드..
2023.10.14 -
최대공약수와 최소공배수 - Python
1. 풀이 코드 # 유클리드 호제법 # 최대공약수 def GCD(x, y): while y: x, y = y, x % y return x # 최소공배수 def LCM(x, y): result = (x * y) // GCD(x, y) return result def solution(n, m): return [GCD(n, m), LCM(n, m)] # Test Cases print(solution(3, 12)) print(solution(2, 5)) 예전에 사용한 유클리드 호제법 코드를 가져왔습니다. 2. 다른 사람 풀이 코드 def solution(n, m): def gcd(a, b): return b if not a % b else gcd(b, a % b) def lcm(a, b): return a*b/..
2023.10.14 -
직사각형 별찍기 - Python
1. 풀이 코드 a, b = map(int, input().strip().split(' ')) [print("*" * a) for _ in range(b)] 위와 같이 풀었습니다. 2. 다른 사람의 풀이 코드 a, b = map(int, input().strip().split(' ')) print(("*" * a + "\n") * b) 저보다 더 나으면서 파이썬스러운 풀이를 발견했습니다. 한 가지를 배우게 되네요. 프로그래머스: https://school.programmers.co.kr/learn/courses/30/lessons/12969 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요...
2023.10.14