오늘도 페어프로그래밍!
팀원들의 도움을 많이 받아 풀수 없던 문제도 풀어보게 해주셨다
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 변수에 넣어주는 방식으로 풀이해봤다.