전체 글 88

[프로그래머스/Python] 콜라츠 추측

def solution(num): count = 0 while num!= 1: if num%2 == 0: num = num / 2 else: num = num*3 + 1 count +=1 if count >=500: return -1 return count while문은 조건이 참(True)일 동안 계속 반복하는 구문!=는 같지 않다는 의미 ✅ 쉽게 비교하기while num != 1: → “num이 1이 아닌 동안 반복”while num == 1: → “num이 1일 때만 반복 → 바로 끝남 (우리가 원하는 게 아님)” def solution(num)..

[프로그래머스/Python] 나누어 떨어지는 숫자 배열

def solution(arr, divisor): answer = [] for i in range(0,len(arr)): if arr[i] % divisor == 0: answer.append(arr[i]) if not answer: return [-1] else: return sorted(answer) 파이썬에서 리스트(배열)이 비어있으면 False, 하나라도 원소가 있으면 True로 취급 if not answer: answer가 비어 있다면 !예시 answer = []if not answer: print("비어있다!")answer = [3, 5]if not answer: print("비어있다!")..

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

import mathdef solution(n): a = int(math.sqrt(n)) if a*a == n: return (a+1)**2 else: return -1 파이썬에서 sqrt(제곱근) 함수 구할때 import math 씀sqrt 쓰면 정수가 아니라 실수(float)형을 반환하기 때문에 int형 꼭 써줘야함 ! math 함수 안쓰고 반복문으로 풀면def solution(n): i = 1 while i * i 1부터 차례대로 제곱하면서 n과 같은 값이 나오는지 확인같으면 제곱수, 크면 멈춤

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

def solution(n): answer = str(n) total = sorted(answer, reverse=True) return int("".join(total)) 문자열로 변환한다음에 sorted(문자열, reverse=True) sorted(..., reverse=True) → 각 글자를 리스트로 쪼개서 내림차순 정렬['8','7','3','2','1','1'] (문자 하나씩 쪼개서 정렬한 리스트) int("".join(total))다시 문자열로 합치고, int()로 변환해 숫자로 만들어 줌