728x90
728x90
1. 올바른 괄호 문제 괄호가 바르게 짝지어졌다는 것은 '(' 문자로 열렸으면 반드시 짝지어서 ')' 문자로 닫혀야 한다는 뜻입니다. '(' 또는 ')' 로만 이루어진 문자열 s가 주어졌을 때, 문자열 s가 올바른 괄호이면 true를 return 하고, 올바르지 않은 괄호이면 false를 return 하는 solution 함수를 완성해 주세요. 풀이 스택(Stack): 스택은 데이터를 저장하는 자료구조로, 나중에 들어온 데이터가 먼저 나가는 (Last In, First Out) 구조를 가지고 있습니다. 스택은 주로 데이터를 임시로 저장하거나 역추적을 할 때 사용됩니다. def solution(s): stack = [] # 스택을 리스트로 구현 for char in s: if char == '(': sta..
1. 최대공약수와 최소공배수 문제 두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환하는 함수, solution을 완성해 보세요. 배열의 맨 앞에 최대공약수, 그다음 최소공배수를 넣어 반환하면 됩니다. 예를 들어 두 수 3, 12의 최대공약수는 3, 최소공배수는 12이므로 solution(3, 12)는 [3, 12]를 반환해야 합니다. 내 풀이 def solution(n, m): answer = [] for i in range(min(n,m),0,-1): if (n % i == 0) and (m % i == 0): # 최대공약수 answer.append(i) break for i in range(max(n,m),n*m+1): if i%n == 0 and i%m == 0: # 최소공배수 answer...
1. 직사각형 별찍기 문제 이 문제에는 표준 입력으로 두 개의 정수 n과 m이 주어집니다. 별(*) 문자를 이용해 가로의 길이가 n, 세로의 길이가 m인 직사각형 형태를 출력해보세요. 내 풀이 a, b = map(int, input().strip().split(' ')) for i in range(b): print('*'*a) 다른 사람 풀이 a, b = map(int, input().strip().split(' ')) answer = ('*'*a +'\n')*b print(answer) 2. 최솟값 만들기 문제 설명 길이가 같은 배열 A, B 두개가 있습니다. 각 배열은 자연수로 이루어져 있습니다. 배열 A, B에서 각각 한 개의 숫자를 뽑아 두 수를 곱합니다. 이러한 과정을 배열의 길이만큼 반복하며,..
1. 행렬의 덧셈 문제 행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요. 내 풀이 import numpy as np def solution(arr1, arr2): arr1_ = np.array(arr1) arr2_ = np.array(arr2) answer = arr1_ + arr2_ return answer.tolist() tolist(): 넘파이 배열을 리스트 형식으로 바꿔주는 메서드 다른 사람 풀이 def solution(arr1, arr2): answer = [] for i in range(len(arr1)): row = [] for ..
1. 문자열 다루기 기본 문제 문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다 내 풀이 def solution(s): if len(s) == 4 or len(s) == 6: if s.isdigit(): return True else: return False else: return False 다른 사람 풀이 def alpha_string46(s): return s.isdigit() and len(s) in [4,6] def alpha_string46(s): try: int(s) except: return False return len(s) == 4 or..
1. 부족한 금액 계산하기 문제 설명 새로 생긴 놀이기구는 인기가 매우 많아 줄이 끊이질 않습니다. 이 놀이기구의 원래 이용료는 price원 인데, 놀이기구를 N 번 째 이용한다면 원래 이용료의 N배를 받기로 하였습니다. 즉, 처음 이용료가 100이었다면 2번째에는 200, 3번째에는 300으로 요금이 인상됩니다. 놀이기구를 count번 타게 되면 현재 자신이 가지고 있는 금액에서 얼마가 모자라는지를 return 하도록 solution 함수를 완성하세요. 단, 금액이 부족하지 않으면 0을 return 하세요. 내 풀이 def solution(price, money, count): n = 0 for i in range(1, count+1): n += price * i result = n - money re..