목록Python (27)
오랑우탄의 반란
오늘도 오랑이는 문제를 풉니다. 덧칠하기 풀이 과정처음엔 입출력 예시만 고려한 채로 아래와 같은 코드로 풀었습니다. section 의 최댓값과 최솟값의 차에 대해서 m과 들어맞는지 확인하고 결과물을 출력하는 방식이지요. def solution(n, m, section): answer = 0 i = section[len(section)-1] - section[0] + 1 if i//m == 0: answer = 1 else: if i%m == 0: answer = i//m else: answer = i//m+1 return answer 하지만 채점 결과 정확성이 반밖에 되지 않더군요. 예외케이스가 ..
오늘도 오랑이는 문제를 풉니다. 소수 만들기 풀이 과정해당 문제는 크게 두 파트로 나눠서 풀어야 합니다.nums 의 값 3개씩 조합소수 판별첫번째 조건에 대한 코드를 짜봅니다.def solution(nums): for i in range(len(nums)): for j in range(i+1,len(nums)): for k in range(j+1,len(nums)): num = nums[i] + nums[j] + nums[k] 예전에 풀었던 삼총사 문제와 동일한 방식입니다. 어떤 수 n이 소수가 되려면 인수가 1과 자기 자신 n 뿐이어야 합니다. 또한 0 과 1 은 소수가 될 수 없습니다. 즉, n 은 2 이상의 숫자가 되며 그 인수..
오늘도 오랑이는 문제를 풉니다. 모의고사 풀이 과정각 수포자의 답이 answers 리스트와 일치하는지 비교일치할 경우 리스트 형태로 각각 점수 부여부여된 점수 중 최고값에 해당하는 인덱스값 + 1 을 리스트로 반환 위 조건에 따라 코드를 설계해봅시다.우선 전체 점수와 각 수포자의 답을 리스트 형태로 저장해줍니다. def solution(answers): answer = [] score = [0,0,0] g1 = [1,2,3,4,5] g2 = [2,1,2,3,2,4,2,5] g3 = [3,3,1,1,2,2,4,4,5,5] 이제 조건을 나열해봅시다. 각 수포자에 대해 answers[ i ] 와 g[ i % 리스트 길이] 를 비교해줍니다. 나머지값으로 answers 길이가..
오늘도 오랑이는 문제를 풉니다. 과일 장수 풀이 과정score 를 순서대로 나열개수 m 씩 쪼개고 그 중 최솟값에 대해 더해서 m 을 곱한 값을 리턴위의 순서대로 진행하는 코드를 생각했습니다. 차례대로 코드를 짜봅시다. def solution(k, m, score): score.sort(reverse=True) return score #순서 확인 설명을 위한 편의 상 answer 를 리스트로 지정해서 리스트에 반복문의 결과물이 적재되는 과정이 보이도록 수정했습니다. def solution(k, m, score): answer = [] score.sort(reverse=True) for i in range(len(score)//m): answer.append(mi..
오늘도 오랑이는 문제를 풉니다. 2016년 풀이 과정필수는 아니지만 없으면 허전하기 때문에 2016년 달력을 한 번 봅시다.이 문제에서 주목해야 할 부분은 아래 두 가지입니다:날짜 % 7 = 1 은 금요일각 월의 날짜들은 이어지기 때문에 이전 월의 일수에 날짜를 더한 값 = 날짜즉, 요일과 월별 일수를 나열한 리스트 2개를 작성해주고 여기서 값을 추출해서 계산해주는 방식으로 풉니다.아까 나머지가 1일 때 금요일이기 때문에 리스트 인덱스와 맞춰서 작성해줍니다.또한 이전 달의 날짜에 b 를 더해야 하기 때문에 month 리스트는 0부터 시작하도록 해줍니다. def solution(a, b): weekday = ['THU','FRI','SAT','SUN','MON','TUE','WED'] mont..
오늘 오랑이는 matplotlib을 활용한 데이터 시각화에 대해 배울 예정입니다. 그동안 데이터 전처리를 위해 사용하는 pandas의 개념을 익혔는데요, 이제 matplotlib으로 시각화를 해볼 예정입니다. 실제로 시각화에 들어가기 전에 간단하게 그래프 종류를 짚고 넘어갑시다. Matplotlib이란? → 파이썬의 시각화를 위한 라이브러리 중 하나로, 다양한 종류의 그래프를 생성하기 위한 도구를 제공합니다.주로 2D 그래픽을 생성하기 위해 사용되며, 여러 그래프 형식을 지원하고 원하는 형태로 스타일링 할 수 있습니다. matplotlib.pyplot 선형 그래프plot() 2차원 데이터를 시각화하기 위해 사용합니다. xlabel(), ylabel(), title()x축, y축, 제목 s..
오늘 오랑이는 matplotlib을 활용한 데이터 시각화에 대해 배울 예정입니다. 그동안 데이터 전처리를 위해 사용하는 pandas의 개념을 익혔는데요, matplotlib으로 시각화를 해보기 전에 데이터 시각화에 대해 간단하게 짚고 넘어가겠습니다. 데이터 시각화WHAT 데이터 시각화란? → 데이터 시각화란 말 그대로 정리된 데이터를 더 효과적으로 보기 위해 정보와 시각적인 요소를 패밍한 것입니다. 그래프, 지도, 시뮬레이션 등 그래픽 요소로 변환된 정보 모두 데이터 시각화의 예시입니다. WHY 데이터 시각화가 왜 필요하나요? → 복잡한 다량의 정보를 가장 직관적이고 효과적으로 전달하기 위한 수단이기 때문입니다. 텍스트에 비해 그래픽에 대한 정보 처리 속도가 가장 빠르며, 다량의 정보를 담으..
오늘 오랑이는 pandas를 활용한 데이터 전처리에 대해 배울 예정입니다. 지난 포스트에 이어 데이터 병합, 집계, 병렬을 알아보며 Pandas 기초 개념 설명을 마치겠습니다. 6 데이터 병합데이터 병합에는 concat, merge 두 가지 방법이 있습니다. 각각 SQL의 union, join 과 비슷한 쓰임새입니다.아래 데이터에 대해서 작업하겠습니다. concatconcat로 여러 테이블을 병합할 경우, 기본이 밑으로 이어붙여지는 형식입니다. (axis=0)이때 주의할 부분은 인덱스가 기존 테이블들의 인덱스 그대로 이어지지 않는 형태로 들어가기 때문에, 마지막에 .reset_index(drop=True) 를 꼭 붙여줘야 한다는 점입니다. drop=True 를 생략하면 합쳐진 개별 인덱스 칼럼이 남..