전체 글

전체 글

    [프로그래머스/파이썬] 나머지가 1이 되는 수 찾기

    문제 설명 자연수 n이 매개변수로 주어집니다. n을 x로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수 x를 return 하도록 solution 함수를 만들어주세요. 제한사항 3

    [프로그래머스/파이썬] 하샤드 수

    문제 설명 양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수 입니다. 자연수 x를 입력받아 x가 하샤드 수 인지 아닌지 검사하는 함수, solution을 완성해주세요 제한 조건 x는 1이상, 10000 이하인 정수 입출력 예 arr return 10 true 12 true 11 false 13 false 내 풀이 map을 통해 양의 정수 x를 문자열로 바꾸어 각 요소를 int 타입으로 변환 sum을 통해 리스트 요소 값을 합함 x를 자릿수 합(digit_sum)으로 나눈 나머지가 0이면 True, 아니면 False 반환 def solution(x): digit_sum = sum(ma..

    [프로그래머스/파이썬] 정수 내림차순으로 배치하기

    문제 설명 함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 제한 조건 n은 1이상 8000000000 이하인 자연수 입출력 예 n return 118372 873211 내 풀이 정수 n을 문자열로 바꾸고 정렬한 뒤, [::-1]을 통해 뒤집어 리스트 생성 리스트 요소를 가져와 빈 문자열에 이어붙임 문자열을 int 타입으로 변환하여 반환 def solution(n): l = sorted(str(n))[::-1] num = "" for i in range(len(l)): num+=l[i] return int(num) 다른 사람 풀이 정수 n을 문자열로 바꾸어 리스트로 생성 리스트를 정렬하는 리스트.sort()와 revers..

    [프로그래머스/파이썬] 문자열 내 p와 y의 개수

    문제 설명 대문자와 소문자가 섞여있는 문자열 s가 주어집니다. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 True, 다르면 False를 return 하는 solution을 완성하세요. 제한 사항 문자열 s의 길이 : 50 이하의 자연수 문자열 s는 알파벳으로만 이루어짐 입출력 예 s answer "pPoooyY" true "Pyy" false 내 풀이 문자열 s를 lower() 를 통해 모두 소문자로 변경 count()를 통해 "p"와 "y"의 개수가 일치하면 True 반환, 일치하지 않으면 False 반환 'p', 'y'가 하나도 없는 경우는 0 == 0 이므로 True 반환 def solution(s): s = s.lower() return True if s.count('p') == s.co..

    [프로그래머스/파이썬] 자연수 뒤집어 배열로 만들기

    문제 설명 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 제한 조건 n은 10,000,000,000이하인 자연수 입출력 예 n return 12345 [5,4,3,2,1] 내 풀이 자연수 n을 문자열로 바꿔 증가폭을 -1로 설정 리스트 전체에서 인덱스를 1씩 감소시키면서 요소를 가져와 int로 변환하여 list 생성 def solution(n): list1 = [int(i) for i in str(n)[::-1]] return list1 다른 사람 풀이 자연수 n을 문자열로 만들고 reversed를 사용하여 뒤집음 map을 통해 각 요소를 int 타입으로 변환하여 list 생성 def digit_reverse(n): return list(map(int, reversed(st..

    [Kotlin] 고차 함수, 람다, Scope functions

    Functions types 1. (parameter) -> return type 파라미터 타입 선언 -> 리턴 타입 선언 (Int) -> Boolean (input: Int) -> Boolean (T) -> Boolean val isEven: (Int) -> Boolean = { it % 2 == 8 } 파라미터가 두개 이상일 때는 다음과 같다 (Int, Int) -> Int 파라미터명과 타입을 함께 작성할 수도 있다 (first: Int, second: Int) -> Int 2. with receiver - 함수 본문에 receiver 객체 참조 전달 .()는 this를 통해 참조(생략 가능) Int.() -> Boolean T.() -> R (마지막 줄 반환) val isEven: Int.() ->..

    [프로그래머스/파이썬] 정수 제곱근 판별

    문제 설명 임의의 양의 정수에 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다. n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하세요. 입출력 예 n return 121 144 3 -1 내 풀이 math를 import하지 않고 제곱근을 얻는 방식을 몰라 다른 분들의 풀이를 참고함 def solution(n): x = n ** (0.5) if x % 1 == 0 : return (x+1)**2 return -1 정수에 0.5 제곱을 곱하면 해당 정수의 제곱근을 얻을 수 있음 x % 1 == 0 이 참이면 x는 정수라는 뜻