본문 바로가기

파이썬103

GPT문제 : 가장 많이 등장한 숫자 찾기 Python Q1. 정수로 이뤄진 리스트가 있을 때, 가장 많이 등장한 숫자와 그 횟수를 출력하라. -ChatGPTfrom collections import Counterdef count_num(nums): if not nums: #만약 nums가 비어있다면 return None, 0 cnt = Counter(nums) #cnt에 nums리스트에 있는 숫자들의 중복 개수를 세서 넣기 n, c = cnt.most_common(1)[0] """ [0]으로 인덱싱 하는 이유는 튜플 형태로 꺼내기 위해서 n = cnt.most_common(1)까지만 하면 숫자와 횟수가 리스트 형태로 나옴. ex)[(2, 4)] 인덱싱을 해줘야 언패킹 돼서 튜플 형태가 꺼내짐 .. 2025. 4. 25.
프로그래머스 <PCCP 기출문제 1번 / 동영상 재생기> Python Programmers 문제문제 설명당신은 동영상 재생기를 만들고 있습니다. 당신의 동영상 재생기는 10초 전으로 이동, 10초 후로 이동, 오프닝 건너뛰기 3가지 기능을 지원합니다. 각 기능이 수행하는 작업은 다음과 같습니다.10초 전으로 이동: 사용자가 "prev" 명령을 입력할 경우 동영상의 재생 위치를 현재 위치에서 10초 전으로 이동합니다. 현재 위치가 10초 미만인 경우 영상의 처음 위치로 이동합니다. 영상의 처음 위치는 0분 0초입니다.10초 후로 이동: 사용자가 "next" 명령을 입력할 경우 동영상의 재생 위치를 현재 위치에서 10초 후로 이동합니다. 동영상의 남은 시간이 10초 미만일 경우 영상의 마지막 위치로 이동합니다. 영상의 마지막 위치는 동영상의 길이와 같습니다.오프닝 건너뛰기:.. 2025. 4. 18.
프로그래머스 <PCCE 기출문제 9번 / 지폐 접기> Python Programmers 문제문제 설명민수는 다양한 지폐를 수집하는 취미를 가지고 있습니다. 지폐마다 크기가 달라 지갑에 넣으려면 여러 번 접어서 넣어야 합니다. 예를 들어 지갑의 크기가 30 * 15이고 지폐의 크기가 26 * 17이라면 한번 반으로 접어 13 * 17 크기로 만든 뒤 90도 돌려서 지갑에 넣을 수 있습니다. 지폐를 접을 때는 다음과 같은 규칙을 지킵니다.지폐를 접을 때는 항상 길이가 긴 쪽을 반으로 접습니다.접기 전 길이가 홀수였다면 접은 후 소수점 이하는 버립니다.접힌 지폐를 그대로 또는 90도 돌려서 지갑에 넣을 수 있다면 그만 접습니다.지갑의 가로, 세로 크기를 담은 정수 리스트 wallet과 지폐의 가로, 세로 크기를 담은 정수 리스트 bill가 주어질 때, 지갑에 넣기 위해서 .. 2025. 4. 18.
프로그래머스 <수열과 구간 쿼리 2> Python Programmers 문제문제 설명정수 배열 arr와 2차원 정수 배열 queries이 주어집니다. queries의 원소는 각각 하나의 query를 나타내며, [s, e, k] 꼴입니다.각 query마다 순서대로 s ≤ i ≤ e인 모든 i에 대해 k보다 크면서 가장 작은 arr[i]를 찾습니다.각 쿼리의 순서에 맞게 답을 저장한 배열을 반환하는 solution 함수를 완성해 주세요.단, 특정 쿼리의 답이 존재하지 않으면 -1을 저장합니다.제한사항1 ≤ arr의 길이 ≤ 1,000 0 ≤ arr의 원소 ≤ 1,000,0001 ≤ queries의 길이 ≤ 1,000 0 ≤ s ≤ e 0 ≤ k ≤ 1,000,000입출력 예 arr .. 2025. 4. 18.
프로그래머스 <PCCE 기출문제 6번 / 물 부족> Programmers 문제문제 설명ㅇㅇ시에서는 저수지가 하나 있는데, 도시 내에서 사용하는 모든 물은 이 저수지에 저장된 물을 끌어와 사용합니다. 이상 기후로 인해 극심한 가뭄이 예고된 상황에서, 지난 달의 물 사용량과 이번달부터 일정 기간 동안의 월별 물 사용량의 변화를 예측한 값을 이용해 몇 달 뒤 물이 부족해지는지 예측하려고 합니다.이번달부터의 월별 물 사용량 변화를 예측한 값은 다음과 같이 리스트에 담겨 주어집니다.[10, -10, 10, -10, 10, -10, 10, -10, 10, -10]리스트의 각 원소는 해당 월의 물 사용량이 전 달에 비해 몇 % 만큼 증가 또는 감소하는지를 나타냅니다.예를 들어, 이번달의 물 사용량 (리스트의 첫 번째 원소)은 지난 달 보다 10% 증가한 값이며, 다.. 2025. 4. 18.
프로그래머스 <수열과 구간 쿼리 3> Python Programmers 문제문제 설명정수 배열 arr와 2차원 정수 배열 queries이 주어집니다. queries의 원소는 각각 하나의 query를 나타내며, [i, j] 꼴입니다.각 query마다 순서대로 arr[i]의 값과 arr[j]의 값을 서로 바꿉니다.위 규칙에 따라 queries를 처리한 이후의 arr를 return 하는 solution 함수를 완성해 주세요.제한사항1 ≤ arr의 길이 ≤ 1,000 0 ≤ arr의 원소 ≤ 1,000,0001 ≤ queries의 길이 ≤ 1,000 0 ≤ i 입출력 예arr queries result[0, 1, 2, 3, 4] [[0, 3],[1, 2],[1, 4]] .. 2025. 4. 17.
파이썬에서 list와 array의 차이점 + numpy.array 파이썬에서는 list가 기본적으로 많이 쓰인다.list는 다양한 자료형을 다 허용한다. 정수, 문자열, 리스트 다 섞을 수 있다.반면 array는 하나의 타입만 허용한다. 고정적임. listarraynumpy.array다양한 자료형 허용하나의 자료형만 허용타입 고정(하나의 자료형)기본 내장 자료형이라 그냥 쓰면 됨import 필요import 필요xxpip 설치 필요속도/메모리 효율 보통좋음최상(C기반이라 벡터 연산 엄청 빠름)다양한 자료형 저장 필요 할 때 추천숫자 계산, 행렬, 벡터 연산 시 추천고정 타입 + 더 빠른 반복 필요 시 추천가변 크기, 동적 배열고정 크기, 정적 배열고정 크기, 정적 배열(단, 유연하게 복사/확장 가능) 잘 모르겠다 싶으면 list 쓰는 게 무난할 수도.C/C++같은 데서 .. 2025. 4. 17.
프로그래머스 <수 조작하기2> Python Programmers 문제문제 설명정수 배열 numLog가 주어집니다. 처음에 numLog[0]에서 부터 시작해 "w", "a", "s", "d"로 이루어진 문자열을 입력으로 받아 순서대로 다음과 같은 조작을 했다고 합시다."w" : 수에 1을 더한다."s" : 수에 1을 뺀다."d" : 수에 10을 더한다."a" : 수에 10을 뺀다.그리고 매번 조작을 할 때마다 결괏값을 기록한 정수 배열이 numLog입니다. 즉, numLog[i]는 numLog[0]로부터 총 i번의 조작을 가한 결과가 저장되어 있습니다.주어진 정수 배열 numLog에 대해 조작을 위해 입력받은 문자열을 return 하는 solution 함수를 완성해 주세요.제한사항2 ≤ numLog의 길이 ≤ 100,000 -100,000 .. 2025. 4. 17.
프로그래머스 <수 조작하기 1> python Programmers 문제문제 설명정수 n과 문자열 control이 주어집니다. control은 "w", "a", "s", "d"의 4개의 문자로 이루어져 있으며, control의 앞에서부터 순서대로 문자에 따라 n의 값을 바꿉니다."w" : n이 1 커집니다."s" : n이 1 작아집니다."d" : n이 10 커집니다."a" : n이 10 작아집니다.위 규칙에 따라 n을 바꿨을 때 가장 마지막에 나오는 n의 값을 return 하는 solution 함수를 완성해 주세요.제한사항-100,000 ≤ n ≤ 100,0001 ≤ control의 길이 ≤ 100,000 control은 알파벳 소문자 "w", "a", "s", "d"로 이루어진 문자열입니다.https://school.programmers.c.. 2025. 4. 17.