본문 바로가기

파이썬알고리즘79

백준 14002 파이썬 https://www.acmicpc.net/problem/14002 14002번: 가장 긴 증가하는 부분 수열 4 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이 www.acmicpc.net 코드 n = int(input()) a = list(map(int,input().split())) dp = [0] * n box = [] for i in range(n): for j in range(i): if a[i] > a[j] and dp[i] < dp[j]: dp[i] = dp[j] dp[i] += 1 chk.. 2022. 5. 4.
백준 10845번 큐 (파이썬) https://www.acmicpc.net/problem/10845 10845번: 큐 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 코드 from sys import stdin n = int(input()) q = [] for i in range(n): cmd = stdin.readline().split() if cmd[0] == 'push': q.append(cmd[1]) elif cmd[0] == 'pop': if len(q) == 0: print(-1) else: print(q[0]) del q[0] el.. 2022. 4. 23.
백준 1605 한수 (파이썬) https://www.acmicpc.net/problem/1065 1065번: 한수 어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 www.acmicpc.net ○ 풀이 def hansu(n): count = 0 if n ['1','2','3']) if n_split[0] - n_split[1] == n_split[1] - n_split[2]: # 등차수열 확인 (한수 조건) count += 1 return count n = int(input()) print(hansu(n)) ○ 배운 점 코드를 꼼꼼히 확인하는 습관을 기르자. 처음에 8번째 줄 코드에서 n_.. 2021. 8. 30.
Programmers Summer/Winter Coding(~2018) 소수 만들기 https://programmers.co.kr/learn/courses/30/lessons/12977 코딩테스트 연습 - 소수 만들기 주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때 programmers.co.kr ○ 문제 풀이 def solution(nums): from itertools import combinations import math def find(n): if n == 1: return False for i in range(2, int(math.sqrt(n)) + 1): if n % i == 0: return False return Tru.. 2021. 8. 25.
Programmers Weekly challenge - 4주차 https://programmers.co.kr/learn/courses/30/lessons/84325?language=python3 코딩테스트 연습 - 4주차 개발자가 사용하는 언어와 언어 선호도를 입력하면 그에 맞는 직업군을 추천해주는 알고리즘을 개발하려고 합니다. 아래 표는 5개 직업군 별로 많이 사용하는 5개 언어에 직업군 언어 점수를 부 programmers.co.kr 재미있는 구현 문제 ○ 문제풀이 def solution(table, languages, preference): returnTableCount = [] returnTable = [] tablesum = 0 realtable = [] # 있으면 index위치 반환, 없으면 0 반환 # 분야별로 정리 for i in range(5): r.. 2021. 8. 25.
Programmers Weekly challenge - 2주차 https://programmers.co.kr/learn/courses/30/lessons/83201 코딩테스트 연습 - 2주차 [[100,90,98,88,65],[50,45,99,85,77],[47,88,95,80,67],[61,57,100,80,65],[24,90,94,75,65]] "FBABD" [[70,49,90],[68,50,38],[73,31,100]] "CFD" programmers.co.kr ○ 문제평가 난이도는 그렇게 어렵지 않은 편이나 문제가 길고 구현해야할게 은근히 많기 때문에 먼저 어떻게 구현할지 생각하고 접근한다면 쉽게 풀 수 있는 문제이다. ○ 나의 문제 풀이 def solution(scores): student_score = [] EachStudent_score = [] ave.. 2021. 8. 24.
20210816#(80) 백준 100문제 돌파! (부제 : 게시글 99개 달성) 어느새 108문제.. 아마 알고리즘 문제풀이를 블로그에 처음 포스팅 한 날짜가 찾아보니 21/6/3 밑 게시글이 첫 알고리즘 포스팅이다. https://zhocoding.tistory.com/44?category=1028201 20210603#(28) 백준 2562 파이썬 https://www.acmicpc.net/problem/2562 2562번: 최댓값 9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오. 예를 들어, 서로 다른 9개 zhocoding.tistory.com 중간에 휴가 그리고 격리기간을 빼면 대략 50~60일 정도 되는데 여기에 프로그래머스와 책에서 대략 20문제정도 풀었으니 하루에 대략 2.3 문제 정도 푼 셈이다.. 2021. 8. 16.
20210814#(80) 백준 1237번 정ㅋ벅ㅋ (난이도 상, 꿀잼) https://www.acmicpc.net/problem/1237 1237번: 정ㅋ벅ㅋ 우주를 정ㅋ벅ㅋ할 사람에게는 예제 입력과 예제 출력이 필요하지 않다. www.acmicpc.net ○ 풀이 ㅣ ㅣ ㅣ ㅣ ㅣ ㅣ ㅣ ㅣ ㅣ ㅣ ㅣ ㅣ ㅣ print('문제의 정답') 2021. 8. 14.
20210813#(79) 백준 1929번 소수 구하기 https://www.acmicpc.net/problem/1929 1929번: 소수 구하기 첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다. www.acmicpc.net 이전에 실패한 문제에 있어서 풀어본 문제! ○ 풀이 import math def isPrime(n): if n == 1: return False for i in range(2, int(math.sqrt(n)+1)): if n % i == 0: return False return True m,n = map(int,input().split()) for i in range(m, n+1): if isPrime(i): print(i) ○.. 2021. 8. 13.