개발일지 <내일배움캠프> 202300503 TIL

임재훈·2023년 5월 3일
0

오늘도 페어프로그래밍!
팀원들의 도움을 많이 받아 풀수 없던 문제도 풀어보게 해주셨다

프로그래머스 문자열 내 마음대로 정렬하기

def solution(strings, n):
    answer = []
    answer = sorted(strings, key=lambda x : x[n])
return answer

문자열 strings, 인덱스 n 을 받아서 문자열을 정렬하는데
문자열의 인덱스값이 2이면 2번째줄부터 변경할 수 있게하는 코드다
이 문제를 해결하려고 lanbda함수를 처음사용해봤다
람다를 처음 접했을때 언제쯤 사용할 수 있을까 했던 생각이 든다
막상 사용해보니 이제야 사용법을 '조금은'알거같다

코딩은 체육과목입니다

N = int(input())
bite = ""
while True:
    if N >= 4:
        bite += "long "
        N -= 4
    if N == 0:
        break

print(bite+"int")

내가 팀원분들하고 같이 풀어보고 싶었던 문제를 골랐다
간단하지만 어려워서 내가 풀어볼 만 하다고 느껴서 골랐다
4의 배수인 숫자를 입력받아서 4면 long int , 8이면 long long int 이런식으로 출력할 수 있게 만들었다
while 문을 사용해서 입력받은 숫자가 0이 될때까지 4씩 뺄때마다 long 을 출력하게 만들었다

블랙잭

from itertools import combinations

n, m = map(int, input().split())
cards = list(map(int, input().split()))
temp = 0
sum_card = combinations(cards, 3)

for i in combinations(cards, 3):
    sums = m
    a = sum(i)
    if temp <= a <= sums:
        temp = a


print(temp)

이 문제를 풀때 가장 어렵게 풀었던가같다

문제의 이해도 어려웠고 새로운 함수도 찾아봐서 사용해본거라 햇갈리는것도 많았고 어떤식으로 접근해야할지 한참 고민했던가같다

입력받은 m값에 가장 가까운 숫자를 나오게 cards 에 있는 숫자 3개를 더해 가장 근접하게 만드는 함수인데 새로 알게된 combinations 함수를 사용해 3자리의 경우의 수를 리스트에 만들어주었고 for 문과 combinations 함수를 사용해 각 리스트에 있는 값을 더해주었고 값을 비교해서 가장 근접한 숫자를 temp 변수에 넣어주는 방식으로 풀이해봤다.

0개의 댓글