Engineering WIKI/Programmers
-
[프로그래머스] 짝수와 홀수Engineering WIKI/Programmers 2022. 4. 25. 09:28
코딩테스트 연습 - 짝수와 홀수 정수 num이 짝수일 경우 "Even"을 반환하고 홀수인 경우 "Odd"를 반환하는 함수, solution을 완성해주세요. 제한 조건 num은 int 범위의 정수입니다. 0은 짝수입니다. 입출력 예 num return 3 "Odd" 4 "Even" programmers.co.kr 내풀이 (성공) def solution(num): if num % 2 == 0: return "Even" else: return "Odd" 다른방법 1 def evenOrOdd(num): return ["Even", "Odd"][num & 1] #아래는 테스트로 출력해 보기 위한 코드입니다. print("결과 : " + evenOrOdd(3)) print("결과 : " + evenOrOdd(2))..
-
[프로그래머스] 제일 작은수 제거하기Engineering WIKI/Programmers 2022. 4. 25. 09:23
코딩테스트 연습 - 제일 작은 수 제거하기 정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1 programmers.co.kr 내풀이 (실패) def solution(arr): if len(arr) == 1: answer = [-1] else: answer = sorted(arr, reverse=True)[:-1] return answer 내풀이 (성공) def solution(arr): if len(arr) > 1: arr.remove(min(arr)) return arr else: return [-1] 다른방법 1 def rm_smal..
-
[프로그래머스] 정수 제곱근 판별Engineering WIKI/Programmers 2022. 4. 24. 09:23
코딩테스트 연습 - 정수 제곱근 판별 임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다. n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함 programmers.co.kr 내풀이 (성공) def solution(n): answer = 0 sqrt_val = n ** 0.5 if sqrt_val == int(sqrt_val): answer = (sqrt_val + 1) ** 2 else: answer = -1 return answer 다른방법 1 import math def nextSqure(n): # 함수를 완성하세요 return 'no' if not math.sqrt(n).is_integer() e..
-
[프로그래머스] 정수 내림차순으로 배치하기Engineering WIKI/Programmers 2022. 4. 22. 11:36
코딩테스트 연습 - 정수 내림차순으로 배치하기 함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다. 제한 조건 n은 1이 programmers.co.kr 내풀이 (성공) def solution(n): answer = sorted(list((map(str, str(n)))), reverse = True) return int(''.join(answer)) 다른방법 1 def solution(n): ls = list(str(n)) ls.sort(reverse = True) return int("".join(ls)) 다른방법 2 def solution(n): return ..
-
[프로그래머스] 자연수 뒤집어 배열로 만들기Engineering WIKI/Programmers 2022. 4. 21. 10:13
코딩테스트 연습 - 자연수 뒤집어 배열로 만들기 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다. 제한 조건 n은 10,000,000,000이하인 자연수입니다. 입출력 예 n return 12345 programmers.co.kr 내 풀이 (실패) def solution(n): return sorted(list(map(int, str(n))), reverse=True) 내풀이 (성공) def solution(n): x = [int(i) for i in str(n)] x = x[::-1] return x 다른방법 1 def digit_reverse(n): return list(map(int, reversed(str(..
-
[프로그래머스] 자릿수 더하기Engineering WIKI/Programmers 2022. 4. 21. 10:12
코딩테스트 연습 - 자릿수 더하기 자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요. 예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다. 제한사항 N의 범위 : 100,000,000 이하의 자연수 입출 programmers.co.kr 내 풀이 def solution(n): return sum([int(answer) for answer in str(n)]) 다른방법 1 def sum_digit(number): '''number의 각 자릿수를 더해서 return하세요''' return sum(map(int,str(number))) # 아래는 테스트로 출력해 보기 위한 코드입니다. print("결과 : {}".format(..
-
[프로그래머스] 이상한 문자 만들기Engineering WIKI/Programmers 2022. 4. 20. 11:33
코딩테스트 연습 - 이상한 문자 만들기 문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 programmers.co.kr 내 풀이 def solution(s): answer = '' index = 0 for word in s: if word == " ": answer += " " index = 0 elif index == 0 or index % 2 == 0: answer += word.upper() index += 1 else: answer += word.lower() index += 1 return answer 다른방법 1 def toWeirdCase(s): res ..
-
[프로그래머스] 약수의 합Engineering WIKI/Programmers 2022. 4. 19. 11:11
코딩테스트 연습 - 약수의 합 정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요. 제한 사항 n은 0 이상 3000이하인 정수입니다. 입출력 예 n return 12 28 5 6 입출력 예 설명 입출력 예 #1 12의 약수 programmers.co.kr 내 풀이 def solution(n): answer = 0 for i in range(1, n + 1): if n % i == 0: answer += i return answer 다른방법 1 def sumDivisor(num): # num / 2 의 수들만 검사하면 성능 약 2배 향상잼 return num + sum([i for i in range(1, (num // 2) + 1) if num % i == 0..