TIL_230911

Sol Lee·2023년 9월 19일
0

오늘 한 일

프로그래머스 알고리즘 문제풀이

# 문자열 내 마음대로 정렬하기

# 문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 
# 예를 들어 strings가 ["sun", "bed", "car"]이고 n이 1이면 각 단어의 인덱스 1의 문자 "u", "e", "a"로 strings를 정렬합니다.
# 인덱스 1의 문자가 같은 문자열이 여럿 일 경우, 사전순으로 앞선 문자열이 앞쪽에 위치합니다.

# 내 코드
못했음

# 다른 사람 코드 
def solution(strings, n):
    strings = sorted(strings) # 사전순 정렬
    answer = sorted(strings, key=lambda x:x[n]) # 문자열의 n번째 기준 정렬
    return answer

## sorted(반복할 단위, key=lambda x:정렬기준)



# k번째 수

# 배열 array의 i번째 숫자부터 j번째 숫자까지 자르고 정렬했을 때, k번째에 있는 수를 구하려 합니다.
# 예를 들어 array가 [1, 5, 2, 6, 3, 7, 4], i = 2, j = 5, k = 3이라면

# array의 2번째부터 5번째까지 자르면 [5, 2, 6, 3]입니다.
# 1에서 나온 배열을 정렬하면 [2, 3, 5, 6]입니다.
# 2에서 나온 배열의 3번째 숫자는 5입니다.
# 배열 array, [i, j, k]를 원소로 가진 2차원 배열 commands가 매개변수로 주어질 때, 
# commands의 모든 원소에 대해 앞서 설명한 연산을 적용했을 때 나온 결과를 배열에 담아 return 하도록 solution 함수를 작성해주세요.

# 내 코드
def solution(array, commands):
    answer = []
    
    for c in commands:
        arr = sorted(array[c[0]-1:c[1]])
        answer.append(arr[c[2]-1])
    
    return answer

# 다른 사람 코드 
def solution(array, commands): 
		return [sorted(array[i-1:j])[k-1] for i,j,k in commands]



# 두 개 뽑아서 더하기

# 정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 
# 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요.

# 내 코드
from itertools import *

def solution(numbers):
    comb = list(combinations(numbers,2))
    answer = sorted(set([sum(i) for i in comb]))
    return answer

Django 프로젝트 작업

화면 html 작성

  • 작성 페이지 post_page.html

  • 상세 페이지 detail_page.html

  • 마이 페이지 my_page.html

profile
직업: 개발자가 되고 싶은 오레오 집사

0개의 댓글