Engineering WIKI
-
[프로그래머스] 문자열 다루기 기본Engineering WIKI/Programmers 2022. 4. 15. 13:26
코딩테스트 연습 - 문자열 다루기 기본 문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다. 제한 사항 s는 길이 1 programmers.co.kr 내 풀이 def solution(s): answer = False if (len(s) == 4 or len(s) == 6) and s.isdigit(): return True return answer 다른방법 1 def alpha_string46(s): return s.isdigit() and len(s) in (4, 6) # 아래는 테스트로 출력해 보기 위한 코드입니다. print( alpha_string..
-
[프로그래머스] 문자열 내림차순으로 배치하기Engineering WIKI/Programmers 2022. 4. 15. 13:25
코딩테스트 연습 - 문자열 내림차순으로 배치하기 문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요. s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 programmers.co.kr 내 풀이 def solution(s): answer = '' s_list = sorted(s, reverse=True) answer = "".join(s_list) return answer 다른방법 1 def solution(s): return ''.join(sorted(s, reverse=True)) 다른방법 2 def solution(s): s = list(s) s.sort(reverse = True) answer = "" for..
-
[프로그래머스] 문자열 내 p와 y의 개수Engineering WIKI/Programmers 2022. 4. 15. 13:23
코딩테스트 연습 - 문자열 내 p와 y의 개수 대문자와 소문자가 섞여있는 문자열 s가 주어집니다. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 True, 다르면 False를 return 하는 solution를 완성하세요. 'p', 'y' 모두 하나도 없는 경우는 항상 True를 programmers.co.kr 내 풀이 def solution(s): answer = True p_count = 0 y_count = 0 s = s.lower() for i in s: if i == "p": p_count += 1 elif i == "y": y_count += 1 if p_count != y_count: return False return True 다른방법 1 def numPY(s): # 함수를 완성하세요..
-
[프로그래머스] 문자열 내 마음대로 정렬하기Engineering WIKI/Programmers 2022. 4. 14. 15:40
코딩테스트 연습 - 문자열 내 마음대로 정렬하기 문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 ["sun", "bed", "car"]이고 n이 1이면 각 단어의 인덱 programmers.co.kr 내 풀이 (실패) def solution(strings, n): word_dic = {} for i in sorted(strings): word_dic[i] = i[n] result = sorted(word_dic.keys(), key=lambda x: x[1]) return result 다른 방법 def solution(strings, n): return sorted(sorted(strings..
-
[프로그래머스] 두 정수 사이의 합Engineering WIKI/Programmers 2022. 4. 14. 15:35
코딩테스트 연습 - 두 정수 사이의 합 두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요. 예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다. 제한 조건 a와 b가 같은 경우 programmers.co.kr 내 풀이 def solution(a, b): answer = 0 num_list = [] num_list.append(a) num_list.append(b) num_list = sorted(num_list) for i in range(num_list[0], num_list[1] + 1): answer += i return answer 다른방법 1 def adder(a, b): # 함수를 완성하..
-
[Python] 파이썬 인스턴스 메서드 / 정적 메서드 / 클래스 메서드Engineering WIKI/Python 2022. 4. 12. 13:49
0. 파이썬의 메서드 종류 메서드는 클래스의 행위를 표현하는 것으로 클래스 내의 함수로 볼 수 있다. 파이썬에서 메서드는 크게 3가지로 볼 수 있다. 인스턴스 메서드(instance method) : 아래 1번에서 자세히 설명 정적 메서드(static method) : 아래 2번에서 자세히 설명 클래스 메서드(class method) : 아래 3번에서 자세히 설명 class CustomClass: # instance method def add_instance_method(self, a,b): return a + b # classmethod @classmethod def add_class_method(cls, a, b): return a + b # staticmethod @staticmethod def a..
-
[프로그래머스] 나누어 떨어지는 숫자 배열Engineering WIKI/Programmers 2022. 4. 12. 13:23
코딩테스트 연습 - 나누어 떨어지는 숫자 배열 array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요. divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하 programmers.co.kr 내풀이 def solution(arr, divisor): answer = [] for i in arr: if i % divisor == 0: answer.append(i) if len(answer) == 0: answer.append(-1) return sorted(answer) 다른방법 def solution(arr, divisor): return sorted([n for n in arr if..
-
[프로그래머스] 같은 숫자는 싫어Engineering WIKI/Programmers 2022. 4. 11. 17:01
코딩테스트 연습 - 같은 숫자는 싫어 배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 programmers.co.kr 내 풀이 def solution(arr): answer = [] for i in arr: if len(answer) == 0: answer.append(i) if i != answer[-1]: answer.append(i) return answer 다른방법 1 # 문제가 개편되었습니다. 이로 인해 함수 구성이나 테스트케이스가 변경되어, 과거의 코드는 동작하지 않을 수 있습니다. # 새로운 함수 구성을 적용하려면 [코드 초기화] 버튼을 ..