728x90
728x90
1. 같은 숫자는 싫어 문제 배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 수들을 반환할 때는 배열 arr의 원소들의 순서를 유지해야 합니다. 배열 arr에서 연속적으로 나타나는 숫자는 제거하고 남은 수들을 return 하는 solution 함수를 완성해 주세요. 내 풀이 def solution(arr): answer = [] for i in range(len(arr)): if arr[i] != arr[i-1]: answer.append(arr[i]) elif i == 0: answer.append(arr[i]) return answer elif i..
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..