본문 바로가기
728x90
반응형

Python437

[백준] 2581번 : 소수 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 2581번: 소수 M이상 N이하의 자연수 중 소수인 것을 모두 찾아 첫째 줄에 그 합을, 둘째 줄에 그 중 최솟값을 출력한다. 단, M이상 N이하의 자연수 중 소수가 없을 경우는 첫째 줄에 -1을 출력한다. www.acmicpc.net 1. 문제 설명 2. 풀이과정 sys.stdin.readline() 함수를 사용하기 위해 sys 모듈을 불러온다. import sys 소수를 찾을 범위의 시작 값을 입력받는다. M = int(sys.stdin.readline()) 소수를 찾을 범위의 끝 값을 입력받는다. N = int(sys.stdin.readline()) 찾은 소수를 저장할 리스트를 생성한다. li = list() 범위에 있는 값을 하나씩 추출하여 for i in range(M, N + 1) 2부터 추출.. 2023. 7. 17.
[백준] 11650번 : 좌표 정렬하기 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 11650번: 좌표 정렬하기 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net 1. 문제 설명 2. 풀이과정 sys.stdin.readline() 함수를 사용하기 위해 sys 모듈을 불러온다. import sys 정렬할 점의 개수를 입력받는다. N = int(sys.stdin.readline()) 각 점의 좌표를 저장할 리스트를 생성한다. li = list() 점 개수만큼 반복하며 for _ in range(N) 점의 좌표를 입력받고 리스트로 저장한다. v = list(map(int, s.. 2023. 7. 17.
[백준] 1427번 : 소트인사이드 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 1427번: 소트인사이드 첫째 줄에 정렬하려고 하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다. www.acmicpc.net 1. 문제 설명 2. 풀이과정 sys.stdin.readline() 함수를 사용하기 위해 sys 모듈을 불러온다. import sys 연산 속도가 빠른 deque 자료구조를 사용하기 위해 deque 모듈을 불러온다. from collections import deque 정렬할 문자열을 입력받아 각 문자별로 deque에 저장한다. string = deque(sys.stdin.readline().rstrip()) 입력받은 문자를 내림차순으로 정렬한다. string = sorted(string, reverse=True) 내림차순으로 정렬한 문자열을 한 .. 2023. 7. 17.
[백준] 2920번 : 음계 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 2920번: 음계 다장조는 c d e f g a b C, 총 8개 음으로 이루어져있다. 이 문제에서 8개 음은 다음과 같이 숫자로 바꾸어 표현한다. c는 1로, d는 2로, ..., C를 8로 바꾼다. 1부터 8까지 차례대로 연주한다면 ascending, 8 www.acmicpc.net 1. 문제 설명 2. 풀이과정 sys.stdin.readline() 함수를 사용하기 위해 sys 모듈을 불러온다. import sys 음을 연주할 순서대로 입력받아 리스트로 저장한다. play = list(map(int, sys.stdin.readline().split())) 시작 음을 저장할 변수를 생성하고 입력받은 값에서 시작 값을 저장한다. start = play[0] 만약 시작 음이 1이라면 ascending인지 .. 2023. 7. 17.
[프로그래머스] n^2 배열 자르기 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 설명 2. 풀이과정 해당 문제는 풀이 애니메이션이 함정이다. 풀이 애니메이션처럼 배열의 값을 모두 구하여 해결하면 시간이 많이 걸리고 메모리도 많이 사용하게 된다. 하여 바로 정답 값만 저장할 수 있도록 해결해 보았다. left와 right 값을 매개변수로 입력받게 되는데, 이를 각 행과 열의 최대 개수인 n으로 나눈 몫과 나머지가 각 행과 열의 위치가 된다. 하여 이를 활용해 해당 2차원 배열에서 해당 위치의 값만 바로 정답 배열에 추가하는 방법으로 해결하였다. 행의 위치를 나타낼 변수를 생성하고.. 2023. 7. 16.
[프로그래머스] H-Index - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 설명 2. 풀이과정 논문의 인용 횟수를 담은 리스트를 오름차순으로 정렬한다. citations.sort() 만족하는 Index를 저장할 리스트를 생성한다. li = list() 인덱스는 0부터 논문의 인용 횟수의 최댓값까지 가능하므로 반복한다. for h in range(max(citations) + 1) 인덱스보다 많이 인용된 논문의 수를 저장할 변수를 생성하고 초기화한다. count = 0 논문의 인용 횟수를 하나씩 추출하여 for i in citations 만약 인용 횟수가 인덱스보다 크거나 .. 2023. 7. 16.
[프로그래머스] 연속 부분 수열 합의 개수 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 설명 2. 풀이과정 부분 수열의 합을 저장할 리스트를 생성한다. li = list() 각 부분 수열의 경우는 길이가 1부터 부분 수열 원소 크기까지 반복한다. for k in range(len(elements)) 각 부분 수열의 시작을 나타내는 변수를 생성하고 초기화한다. i = 0 각 부분 수열의 끝을 나타내는 변수를 생성하고 각 경우별 길이만큼 떨어진 값을 저장한다. j = k + 1 각 길이별 경우는 모두 부분 수열 원소 크기만큼 그 합의 경우가 나오기 때문에 부분 수열 원소 크기만큼 연산을 .. 2023. 7. 16.
[프로그래머스] 2016년 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 설명 2. 풀이과정 각 달별 일 수를 리스트로 저장한다. 해당 년은 윤년이므로 2월이 29일까지 있다. month = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] 1월 1일이 금요일이므로 금요일부터 시작하여 목요일까지 요일을 리스트로 저장한다. day = ['FRI', 'SAT', 'SUN', 'MON', 'TUE', 'WED', 'THU'] 총 일 수를 저장할 변수를 생성하고 총 일 수를 더하여 저장한다. Sum = sum(month[: (a - 1)]).. 2023. 7. 16.
[백준] 1920번 : 수 찾기 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 1920번: 수 찾기 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들 www.acmicpc.net 1. 문제 설명 2. 풀이과정 sys.stdin.readline() 함수를 사용하기 위해 sys 모듈을 불러온다. import sys 정수의 개수를 입력받는다. N = int(sys.stdin.readline()) 각 정수를 입력받아 리스트로 저장한다. A = list(map(int, sys.stdin.readline().split())) 테스트 횟수를 입력받는다. M = int(sys.stdin.readline(.. 2023. 7. 15.
[백준] 2775번 : 부녀회장이 될테야 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 2775번: 부녀회장이 될테야 첫 번째 줄에 Test case의 수 T가 주어진다. 그리고 각각의 케이스마다 입력으로 첫 번째 줄에 정수 k, 두 번째 줄에 정수 n이 주어진다 www.acmicpc.net 1. 문제 설명 2. 풀이과정 sys.stdin.readline() 함수를 사용하기 위해 sys 모듈을 불러온다. import sys 테스트 케이스 개수를 입력받는다. T = int(sys.stdin.readline()) 각 테스트 케이스 횟수만큼 반복하며 for _ in range(T) 층 수를 입력받고 k = int(sys.stdin.readline()) 호 수를 입력받는다. n = int(sys.stdin.readline()) 각 층과 호 수별 사람의 수를 리스트로 생성한다. n_people = .. 2023. 7. 15.
728x90
반응형