Algorithm (71) 썸네일형 리스트형 프로그래머스 / 코딩 테스트 / 직사각형 별찍기 문제 설명 문제 해결 가로 = a, 세로 = b이다. 곱연산을 이용해 가로, 세로 길이를 맞춰주면된다. a, b = map(int, input().strip().split(' ')) print(('*' * a + '\n') * b,end='') 프로그래머스 / 코딩 테스트 / 행렬의 덧셈 문제 설명 문제 해결 comprehension을 쓰면 깔끔하게 작성할 수 있다. def solve(x, n): return [x * i for i in range(1,n+1)] def solution(x, n): answer = solve(x,n) return answer 프로그래머스 / 코딩 테스트 / 핸드폰 번호 가리기 문제 설명 문제 해결 python에서는 문자열에 곱연산을 할 수 있다. 파이썬(python) 문자열의 곱셈과 덧셈 파이썬에서는 문자열끼리 더하거나 곱할 수 있다. 문자열끼리 연결하는데 덧셈 연산자를 사용하는 것은 다른 언어에서도 흔하지만 곱셈은 독특하다. 두 개의 문자열을 더하면 문자열이 하 studymake.blogspot.com 곱연산, 슬라이싱을 이용하면 코드를 짧게 만들 수 있다. def solve(s): return '*' * (len(s)-4) + s[len(s)-4:] def solution(phone_number): answer = solve(phone_number) return answer 프로그래머스 / 코딩 테스트 / 하샤드 수 문제 설명 문제 해결 x를 문자열로 변환하고 각 문자를 숫자로 변환하여 더하여 합을 구한다. x를 합으로 나머지 연산을 진행한 후, 나머지가 있는지 없는지 확인해주면 된다. def solve(x): return x % sum([int(ch) for ch in str(x)]) == 0 def solution(x): answer = solve(x) return answer 프로그래머스 / 코딩 테스트 / 평균 구하기 문제 설명 문제 해결 간단하게 평균을 구해서 반환해주면 된다. def solve(arr): return sum(arr) / len(arr) def solution(arr): answer = solve(arr) return answer 프로그래머스 / 코딩 테스트 / 콜라츠 추측 문제 설명 문제 해결 콜라즈 추측에 대해서 실제로 연산하는 프로그램을 작성하면 된다. 삼항연산자를 이용하면 코드를 많이 줄일 수 있다. (다만 가독성이 좋은지는 잘 모르겠다.) def solve(num): cnt = 0 while num != 1 and cnt = 500 else cnt def solution(num): answer = solve(num) return answer 프로그래머스 / 코딩 테스트 / 최대공약수와 최소공배수 문제 설명 문제 해결 math 모듈을 import 하여 간단하게 풀 수 있다. import math def solve(n,m): return [math.gcd(n,m), n * m / math.gcd(n,m)] def solution(n, m): answer = solve(n,m) return answer 두 수의 최대공약수를 구하는 방법이 무엇이 있을까 찾아봤고 유클리드 호제법을 발견했다. 유클리드 호제법 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 유클리드 호제법(-互除法, Euclidean algorithm) 또는 유클리드 알고리즘은 2개의 자연수 또는 정식(整式)의 최대공약수를 구하는 알고리즘의 하나이다. 호제법이란 ko.wikipedia.org 최대 공약수를 구하는 알고.. 프로그래머스 / 코딩 테스트 / 짝수와 홀수 문제 설명 문제 해결 Python의 Ternary operators를 사용하면 짧게 코드를 구현할 수 있다. def solve(num): return "Even" if num % 2 == 0 else "Odd" def solution(num): answer = solve(num) return answer 프로그래머스 / 코딩 테스트 / 제일 작은 수 제거하기 문제 설명 문제 해결 주어진 리스트에서 제일 작은 원소를 제거하고 리스트를 반환하는 함수를 만들면 된다. sorted 함수를 이용하여 리스트를 오름차순 정렬, 리스트에서 0번째 원소를 제거한 후, 리스트를 반환한다. def solve(arr): if len(arr) 프로그래머스 / 코딩 테스트 / 정수 제곱근 판별 문제 설명 문제 해결 정수 n의 제곱근(x)을 구하고, x가 n의 제곱근이 맞다면 x + 1의 제곱을 구하여 반환하는 함수를 만들면 된다. math 모듈의 sqrt 함수를 사용하여 n의 제곱근을 구한다. 위키독스 온라인 책을 제작 공유하는 플랫폼 서비스 wikidocs.net int형태로 변환된 제곱근이 실제로 n의 제곱근이 맞는지 확인한다. 그리고 문제에서 요구한 대로 제곱근 + 1 ** 2의 값을 반환한다. import math def solve(n): x = int(math.sqrt(n)) if x ** 2 !=n: return -1 else: return (x+1)**2 def solution(n): answer = solve(n) return answer 이전 1 ··· 3 4 5 6 7 8 다음