본문 바로가기

728x90

백준

(5)
[Baekjoon] 백준 #11653번 파이썬 해답 baekjoon online judge의 단계별로 풀어보기 중 수학 부분입니다. 기본 수학 2, 일명 소인수분해 입니다. 분명 기본 수학이라고 되어있지만, 기본 단계는 아닌것 같습니다. 문제부터 한번 보겠습니다. 내용은 자체는 심플합니다. 문제 정수 N이 주어졌을 때, 소인수분해하는 프로그램을 작성하시오. 입력/출력 입력 첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다. 출력 N의 소인수분해 결과를 한 줄에 하나씩 오름차순으로 출력한다. N이 1인 경우 아무것도 출력하지 않는다. 해답 N = int(input()) if N == 1: print('') else: for i in range(2,N+1): while N%i == 0: print(i) N = N / i 아래는 초등수학 과정..
[Baekjoon] 백준 #4344번 파이썬 해답 백준 알고리즘 단계별로 풀어보기의 1차원 배열, 아홉번째, 문제입니다. 먼저 문제를 한번 읽어보겠습니다. 문제 제시 출력 부분에서 소수점 셋째 자리까지 출력해야 하는 것을 확인하실 수 있습니다. 이쯤에서 format, 혹은 F-스트링을 써야 한다는 생각이 들었으면 합니다. f'{p:.3f}%' 입력 예시도 보겠습니다. 정답 공개 C = int(input()) B=[] for _ in range(C): A = list(map(int, input().split())) av = sum(A[1:])/ A[0] # 평균 c = 0 for i in A[1:]: if i > av: c = c+1 p = (c / A[0])*100 # 퍼센트에이지 계산 print(f'{p:.3f}%') # 소숫점 형태로 변환함 (F-스..
[Baekjoon] 백준 #10871번 파이썬 해답 10891번 백준의 단계별 풀어보기 중 1차원 배열에 들어있는 문제입니다. 배열에 대한 사전지식이 없으면 '어?' 할 수 있는 알고리즘입니다. 1차원 배열에 대해서 기초적인 지식을 확인하는 부분입니다. 필자의 게시글 중 파이썬의 응용단계, numpy편에서 이에 대해 다룬적이 있습니다. https://astart.tistory.com/20 파이썬_응용단계 ep.2 Numpy 튜토리얼 서론 추후 Pandas를 원활하게 쓰기 위해, numpy는 중간단계로서 거쳐갑니다. 왜 numpy가 필요하다고 했죠? 강력한 행렬 조작, 연산을 시작할 수 있기 때문에 필요하다고 했습니다. 즉, 목적지가 아닙 astart.tistory.com 1차원 배열은 쉽게 말해 같은 자료형으로 연속된 메모리공간을 할당하여 사용하는 것입니..
[Baekjoon] 백준 #1110번 파이썬 해답 (애국자 ver) 백준의 반복문 문제 중 while문을 사용한 사례입니다. 단계별 → 반복문에서 마지막에 위치하고 있습니다. 일단 문제를 읽어보겠습니다. 보았을때 머릿속에서 바로 팍! 떠오르진 않습니다. 중요한점은 N의 사이클 길이를 구한다는 점입니다. 생각할 시간 . . str을 써서 두자리 수를 입력했을때, 10의 자릿수와 1의 자릿수를 분리하고 이를 따로 때네어 하는 계산방법이 있을 것이라고 생각됩니다. 다만 잘 되지 않았습니다. . . 생각할 시간 x 2 . . 잠시 멈추고 굳이 str을 쓰지 않아도 두자리수를 떼내야 한다면 나눗셈을 사용해서 떼낼수 있지 않을까요. 나머지와 몫을 떼서 10을 곱하면 방법이 나오지 않을까 합니다. 몫 = N // 10 나머지 = N % 10 실제로 생각을 편하게 하기 위해서 한글로 ..
[Baekjoon] 백준 #11022번 파이썬 해답 백준의 단계별 풀어보기입니다. 반복문 문제 중, 7번에 위치하고 있군요. 11022번 문제 풀이 T = int(input()) sum = 0 for i in range(T): A, B= map(int, input().split()) i = A+B sum = sum+1 print(f"Case #{sum}: {A} + {B} = {i}") 간단하게, 파이썬의 f-문자열 포맷팅 방법을 사용해서 진행합니다. format함수를 사용해도 가능을 할것 같지만, 상당히 길어질 것으로 예상됩니다. 기본형태 f" 입력할 문자열 {변수1}" 먼저 첫째줄에 입력하는 문자를 T로 받아줍니다. input()을 넣고 외부에 int를 씌어 정수로 합니다. for문을 사용해봅시다. i를 변수로 받아서 몇번 반복할지 결정해야 하죠? 반..

728x90