본문 바로가기

전체 글402

문자열 내 마음대로 정렬하기 첫번째 코드 먼저 정렬하는 코드이므로 sorted 함수를 사용하여 key에서 조정하면 될 듯 했다 근데 만약에 동일한 경우를 사전 순서대로 처리하는 방법이 문제였다! gpt의 참고를 받았지만 key를 설정할 때 만약에 x[n]이 동일한 경우 다음 정렬 순서를 정할 수 있다! def solution(strings, n): strings_sorted = sorted(strings, key = lambda x : (x[n], x)) return strings_sorted 통과! 링크 https://github.com/ornni/programmers/tree/main/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/1/12915.%E2%80%85%EB%AC%B8.. 2024. 4. 7.
나누어 떨어지는 숫자 배열 첫번째 코드 각각의 arr안의 숫자를 가져와서 divisor로 나누어본 후 나머지가 0이면 answer 리스트에 추가하는 아이디어 그리고 이후에 answer 리스트 자체를 sort 함수를 통해 정렬! def solution(arr, divisor): answer = [] for i in arr: if (i % divisor) == 0: answer.append(i) if answer: answer.sort() return answer else: answer.append(-1) return answer 통과! answer.sort() 자체의 결과값은 None이다!!! 이것을 return에 넣으면 곤란행... 링크 https://github.com/ornni/programmers/tree/main/%ED%9.. 2024. 4. 6.
상관계수 (연속형 - 연속형) - 피어슨 상관계수 (Pearson Correlation Coefficient) 연속형 변수와 연속형 변수 간 선형관계 확인에 사용 두 변수가 정규분포를 따를 때 적합 이상치에 민감 - 스피어만 상관계수 (Spearman’s Rank Correlation Coefficient) 두 변수가 정규성을 따르지 않을 때 사용 가능 두 변수 간의 단조 관계(순위 순서의 관계)를 측정 주어진 데이터를 순위로 변환한 후 상관관계 계산 변수가 서로 선형적인 상관관계를 갖지 않더라도 적용할 수 있음 이상치에 상대적으로 덜 민감 - 켄달의 타우 (Kendall’s Tau) 스피어만 상관계수와 유사하게 순위 기반의 상관관계를 측정 상관계수를 계산할 때 순위를 사용 두 변수 간의 관계가 얼마나 일치하는지.. 2024. 4. 6.
이상한 문자 만들기 첫번째 코드 문제 이해에 문제가 있었다 나는 문자 전체열에 대해서 진행해버렸.... def solution(s): answer = '' word = s.split() for i in range(len(word)): for j, char in enumerate(word[i]): if j % 2 == 0: answer += char.upper() else: answer += char.lower() answer += ' ' return answer.strip() 아이 그럼 결과는 처참했다! 두번째 코드 그래서 이제 단어별로 나누어서 진행하기 위해서 문자열을 나누고 단어별로 인덱스 기준 짝수면 대문자로, 홀수면 소문자로 바꾸는 코드를 작성했다 def solution(s): answer = '' word = s... 2024. 4. 5.
하샤드 수 첫번째 코드 정수를 하나하나 쪼개서 더해야 하므로 가장 먼저 생각난 방식은 문자열의 알파벳을 하나하나 가져오는 방법이다 그래서 정수를 문자열로 변환 후 하나하나 불러와서 더한 후 원래 값에 나눠지는지 여부를 확인했다 def solution(x): str_x = str(x) sum_num = 0 for i in str_x: num = int(i) sum_num += num if x % sum_num == 0: answer = True else: answer = False return answer 굳굳 통과! 링크 https://github.com/ornni/programmers/tree/main/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/1/12947.. 2024. 4. 5.
003 구간 합 구하기 4 첫번째 코드 구간으로 구성된 리스트를 만들어서 해당 구간에 해당 하는 값을 불러와서 더하는 계산을 하라! n, m = map(int, input().split()) number = list(map(int, input().split())) interval = [] for i in range(m): start, end = list(map(int, input().split())) interval.append((start-1, end-1)) for i in range(m): answer = sum(number[interval[i][0]:interval[i][1]+1]) print(answer) 시간 초과! 아마 계속 리스트에서 값을 가져와서 반복하는 것이 계산이 많이 필요했던 것 같다! 두번째 코드 그러면 책에.. 2024. 4. 4.
728x90