파이썬 313

[백준][9단계 약수,배수와 소수] 11653번 /소인수분해 (파이썬/Python)

1. 문제 설명2. 코드N = int(input()) while N != 1:     for i in range(2,int(N**0.5)+1):         if N % i == 0:             print(i)             N //= i             break     else:         print(N)         break3. 풀이 과정N에 정수로 입력받는다.N이 1이 될때까지 반복하는 while문을 작성한다.2부터 N의 제곱근까지 반복해서 i를 반복한다.i가 N의 약수라면 i를 출력하고 N을 i로 나눈 몫으로 초기화하고 break로 for문을 빠져나온다.break를 가지 않고 for문을 끝내면 else문을 실행해서 N을 출력하고 break한다.

[백준][9단계 약수,배수와 소수] 2581번 /소수 (파이썬/Python)

1. 문제 설명2. 코드import math M = int(input()) N = int(input()) decimal = [] for i in range(M,N+1):     if i > 1:         is_prime = True         for j in range(2,int(i**0.5)+1):             if i % j == 0:                 is_prime = False                 break         if is_prime:             decimal.append(i) if decimal:     print(sum(decimal))     print(min(decimal)) else:     print(-1)3. 풀이 과정제곱근 ..

[프로그래머스] [스택/큐] Lv.2 /주식가격 (파이썬/Python)

1. 문제 설명2. 코드 def solution(prices):     answer = []     for i in range(len(prices)):         count = 0         for j in range(i+1,len(prices)):             if prices[i]                 count += 1             else:                 count += 1                 break         answer.append(count)     return answer3. 풀이 과정초 단위를 기록할 answer를 빈 리스트로 초기화한다.prices의 길이의 범위를 i로 받아서 반복한다.횟수 count를 0으로 초기화한다.이후..

[백준][9단계 약수,배수와 소수] 1978번 /소수 찾기 (파이썬/Python)

1. 문제 설명2. 코드N = int(input()) numbers = map(int,input().split()) count = 0 for num in numbers:     if num > 1:         is_prime = True         for i in range(2, int(num**0.5) + 1):             if num % i == 0:                 is_prime = False                 break         if is_prime:             count += 1 print(count)3. 풀이 과정주어진 수 N을 정수로 입력받는다.N개의 수를 numbers에 정수로 map()하여 입력받는다.소수의 개수를 셀 count를..

[프로그래머스] [스택/큐] Lv.2 /다리를 지나는 트럭 (파이썬/Python)

1. 문제 설명2. 코드 from collections import dequedef solution(priorities, location):    queue = deque([(p, idx) for idx, p in enumerate(priorities)])    count = 0        while queue:        current = queue.popleft()        if any(x[0] > current[0] for x in queue):            queue.append(current)        else:            count += 1            if current[1] == location:                return count3. 풀이 ..

[백준][9단계 약수,배수와 소수] 9506번 /약수들의 합 (파이썬/Python)

1. 문제 설명2. 코드test_cases = [] while True:     n = int(input())     if n == -1:         break     test_cases.append(n) for n in test_cases:     divisors = []     for i in range(1,n):         if n % i == 0:             divisors.append(i)     if sum(divisors) == n:         print(f"{n} = {' + '.join(map(str, divisors))}")     else:         print(f"{n} is NOT perfect.")3. 풀이 과정test_cases에 테스트할 숫자들을 저장..

[프로그래머스] [스택/큐] Lv.2 /올바른 괄호 (파이썬/Python)

1. 문제 설명2. 코드 def solution(s):     stack=[]     for char in s:         if char == '(':             stack.append(char)         elif char == ')':             if not stack:                 return False             stack.pop()     return len(stack) == 03. 풀이 과정stack을 빈 리스트로 초기화한다.s의 문자를 char로 받는다.char이 '('이면 append()로 char를 stack에 추가한다.char이 ')'일 때 stack이 비어 있으면 False를 반환하고 아니면 pop()으로 stack 안에 있는 '..

[백준][9단계 약수,배수와 소수] 2501번 /약수 구하기 (파이썬/Python)

1. 문제 설명2. 코드N,K=map(int,input().split()) count=0 for i in range(1,N+1):     if N%i==0:         count += 1         if count==K:             print(i)             break if count    print(0)3. 풀이 과정N,K를 정수로 입력받는다.약수의 개수를 세기 위해 count변수를 0으로 초기화한다.1부터 N+1까지의 번위를 for문으로 반복한다.i가 N의 약수이면 count에 1을 더한다.그리고 count가 K랑 같으면 i를 출력하고 break해서 for문을 빠져나온다.for문을 빠져나왔는데 count가 K보다 작으면 0을 출력한다.

[백준][9단계 약수,배수와 소수] 5086번 /배수와 약수 (파이썬/Python)

1. 문제 설명2. 코드while True:     a,b = map(int,input().split())     if a==0 and b==0:         break     if b%a == 0:         print("factor")     elif a%b == 0:         print("multiple")     else:         print("neither")3. 풀이 과정무한 반복 조건문을 만들기 위해 while에 True 조건을 넣는다.a,b를 정수로 입력받는다.a와b가 0이면 break로 while문을 빠져나온다.a가 b의 약수인 경우 b%a==0이면 "factor"를 출력한다.a가 b의 배수인 경우 a%b==0이면 "multiple"를 출력한다.둘 다 아닌 경우 "neit..

[백준][8단계 일반 수학 1] 2869번 /달팽이는 올라가고 싶다 (파이썬/Python)

1. 문제 설명2. 코드import math A,B,V = map(int,input().split()) days = math.ceil((V-B)/(A-B)) print(days)3. 풀이 과정math 라이브러리를 불러와서 ceil 함수를 사용한다.ceil()함수는 주어진 숫자보다 크거나 같은 가장 작은 정수를 반환하는 함수이다.A,B,V를 입력받는다.math.ceil()함수로 (V-B)/(A-B) 계산값보다 크거나 같은 값중 가장 작은 정수를 반환하여 days에 저장한다.days를 출력한다.