문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/120868 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내 풀이 좀 어려워서 다른 사람의 풀이를 참고한 문제였다ㅠㅠ def solution(sides): answer = 0 max_side = max(sides) min_side = min(sides) # sides에 있는 변(max_sides)이 가장 길 경우 for new_side in range (max_side - min_side + 1, max_side + 1): answer +=..
코딩테스트/PYTHON
문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/120871# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내 풀이 def solution(n): cnt = 0 # new_num 리스트에 3x 마을에서 사용하는 숫자들을 담음 new_num = [] # 10진법 숫자는 100까지 사용되므로, 3x 마을에서 사용하는 숫자 개수도 100개 담음 while len(new_num) < 100: cnt += 1 # 숫자에 3이 포함되지 않거나 3의 배수가 아닐때.. if '3' not in str(..
문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/120887 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내 풀이 def solution(i, j, k): answer = 0 # 첫 시작은 i cnt = i # i부터 j까지 숫자 중.. while cnt
문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/120869 내 풀이 def solution(spell, dic): new_arr = [] # spell의 원소가 전부 한 번씩 사용되어야함 # spell의 원소 중 하나라도 dic의 각 원소에 없으면 break. # spell의 원소를 갖고 있는 dic을 new_arr에 추가 for d in dic: for s in spell: if s not in d: break new_arr.append(d) # new_arr에는 spell의 각 원소를 포함하는 dic원소가 모두 들어가있음 for i in new_arr: if new_arr.count(i) == len(spell): return 1 r..
문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/120866 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내 풀이 def solution(board): answer = 0 # 지뢰의 인덱스를 담은 배열 land_arr land_arr = [] # 지뢰의 인덱스를 찾아서 land_arr 배열에 담음 for i in range(len(board)): for j in range(len(board)): if board[i][j] == 1: land_arr.append([i,j]) # 위, 우측 ..
문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/120864 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내 풀이 import re def solution(my_string): answer = 0 # 정규표현식 사용 m = re.compile('[0-9]+') # 자연수만 담은 리스트 num_list num_list = m.findall(my_string) # num_list의 모든 원소의 합 계산 for i in num_list: answer += int(i) # sum(int(i) f..
문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/120863# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내 풀이 def solution(polynomial): x_num, num = 0, 0 # 동류항의 상수를 뽑아내기 위한 for문 for i in polynomial.split(' '): # x가 있는 항일 때 if 'x' in i: # x를 제거한 값이 빈 값이 아니면.. (ex. 4x) 숫자만 x_num에 추가 if i[:-1] != "": x_num += int(i[:-1]) ..
문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/120862# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내 풀이 def solution(numbers): # 제공된 배열을 정렬한다. numbers.sort() # 가장 작은 수 2개를 곱한 값과 가장 큰 수를 곱한 값 중 더 큰 값을 return 한다. return max(numbers[0]*numbers[1], numbers[-1]*numbers[-2]) 처음에는 제공된 배열을 음수와 양수로 나누어 여러가지 케이스들을 제한하여 문제를..
문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/120861 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내 풀이 def solution(keyinput, board): # 첫 시작은 0, 0 answer = [0, 0] lim_x, lim_y = board[0]//2, board[1]//2 direction = {'up' : [0, 1], 'down' : [0, -1], 'left' : [-1, 0], 'right' : [1, 0]} for i in keyinput: dx, dy = d..
문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/120860 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내 풀이 def solution(dots): # dots 배열의 가장 마지막 원소를 기준점으로 잡음 standard = dots.pop() # 가장 마지막 원소가 빠진 dots 배열을 순회하며.. for x, y in dots: # 기준점과 x좌표가 같은 좌표는 세로의 길이(y좌표의 차이)를 구함 if x == standard[0]: length = abs(y-standard[1]) ..