[내일배움캠프] QA/QC 6기 - 8일차
- TIL
- 파이썬에서 다양한 기능을 가지는 여러 문법을 실제 활용법과 같이 살펴보며 익숙해졌다.
- 각 문법이 데이터 분석에서 어떻게 활용되는지 알 수 잇었다.
- To-Do List
- Python 기초 탄탄 라이브 세션 3회차 수강
- 데이터 분석 파이썬 종합반 5주차 수강
- 아티클 스터디 4 : 데이터 리터러시(Data Literacy)를 올리는 방법
파이썬으로 데이터 분석하기
알면 유용한 파이썬 문법들
list method
- .copy() : 객체를 복사하여 따로 저장하는 것 (원본 객체가 변해도 상관없이 유지됨)
- .title() : 문자열 내 각 단어의 첫 번째 글자를 모두 대문자로 변환
- .capitalize() : 문자열의 첫 글자만 대문자로 변환
- sort와 sorted의 차이
- a_list.sort() : method, 메모리 차지 X (type, print 등 불가능, 정렬만 하고 종료)
- a_list = sorted(a_list) : 정렬하고 메모리 차지 (저장되어서 type, print 등의 추가 조작 가능)
- 내림차순 정렬 : a_list = sorted(a_list, reverse = True)
dictionary
- .keys() : dict의 key 값만 출력
- .values() : dict의 value 값만 출력
- .items() : dict의 (key, value)의 tuple 형태로 출력
- 새로운 값 추가 : a_dict['key'] = 'value'
- .clear() : 모든 값 제거
for 문
- break : 반복문을 즉시 완전히 종료
- continue : 현재 반복만 건너뛰고 다음 반복으로 이동
- pass : 아무 동작도 하지 않고 그대로 넘어감
코테로 배워보는 파이썬
코딩테스트 연습 | 프로그래머스 스쿨
개발자 취업의 필수 관문 코딩테스트를 철저하게 연습하고 대비할 수 있는 문제를 총망라! 프로그래머스에서 선발한 문제로 유형을 파악하고 실력을 업그레이드해 보세요!
school.programmers.co.kr
코테 문제 풀어보고 응용 문제 생각나는거 직접 풀어보기!
명확한 주제 없이 파이썬을 공부하려고 하니 너무 막막해서,
코테를 풀면서 문법 공부를 해보기로 했다!
정답률 높은 순으로 푸는 중...
GPT 쓸 때는 최대한 답을 안물어봅니다!
- 피자 나눠 먹기 (1)
머쓱이네 피자가게는 피자를 일곱 조각으로 잘라 줍니다. 피자를 나눠먹을 사람의 수 n이 주어질 때, 모든 사람이 피자를 한 조각 이상 먹기 위해 필요한 피자의 수를 return 하는 solution 함수를 완성해보세요.
- 컴퓨팅 사고 해보기
- n명이 나눠 먹을 때 필요한 피자 수 → 피자 1판에 7조각 → 7명까진 1판, 8명부터 13명까지 2판
- 즉, n을 7로 나눴을 때 나머지가 0이면 몫이 필요한 피자 수
- 나머지가 존재하면 필요한 피자 수는 몫+1
- 조건으로 나뉘니까 if 문 사용!
- my_answer (⭕)
def solution(n):
if n%7 == 0:
answer = n//7
else:
answer = (n//7)+1
return answer
- 컴퓨팅 사고 해보기
- 머쓱이네 피자가게는 피자를 두 조각에서 열 조각까지 원하는 조각 수로 잘라줍니다. 피자 조각 수 slice와 피자를 먹는 사람의 수 n이 매개변수로 주어질 때, n명의 사람이 최소 한 조각 이상 피자를 먹으려면 최소 몇 판의 피자를 시켜야 하는지를 return 하도록 solution 함수를 완성해보세요.
- 컴퓨팅 사고 해보기
- 위의 문제랑 동일한데 피자 조각수만 2~10조각 가능 → range(2,11) 조건으로 사용?
- 근데 입력값으로 slice랑 n을 주네요...
- my_answer (⭕)
def solution(slice, n):
if n%slice==0:
answer = n//slice
else:
answer = (n//slice)+1
return answer - 다른 사람 풀이
→ n명이 n조각을 나눠먹는 경우가 특이한 케이스인데 이렇게 되면 n-1명을 기준으로 계산을 해서 무조건 올림하는 계산이 된다.def solution(slice, n): return ((n - 1) // slice) + 1
- 컴퓨팅 사고 해보기
- 정수 배열 numbers가 매개변수로 주어집니다. numbers의 원소의 평균값을 return하도록 solution 함수를 완성해주세요.
- 컴퓨팅 사고 해보기
- 평균 = (각 요소 전체 합)/(전체 요소 갯수==배열 길이)
- my_answer (⭕)
def solution(numbers):
answer = sum(numbers)/len(numbers)
return answer
- 컴퓨팅 사고 해보기
- 머쓱이는 추운 날에도 아이스 아메리카노만 마십니다. 아이스 아메리카노는 한잔에 5,500원입니다. 머쓱이가 가지고 있는 돈 money가 매개변수로 주어질 때, 머쓱이가 최대로 마실 수 있는 아메리카노의 잔 수와 남는 돈을 순서대로 담은 배열을 return 하도록 solution 함수를 완성해보세요.
- 컴퓨팅 사고 해보기
- 가진 돈을 아아 가격으로 나눈 몫이 최대 잔 수, 나머지가 잔돈 → // 랑 %
- my_answer (⭕)
def solution(money):
answer = [money//5500,money%5500]
return answer
- 컴퓨팅 사고 해보기
- 첫 번째 분수의 분자와 분모를 뜻하는 numer1, denom1, 두 번째 분수의 분자와 분모를 뜻하는 numer2, denom2가 매개변수로 주어집니다. 두 분수를 더한 값을 기약 분수로 나타냈을 때 분자와 분모를 순서대로 담은 배열을 return 하도록 solution 함수를 완성해보세요.
- 컴퓨팅 사고 해보기
- 분모, 분자를 각각 구하는데 약분 가능할 때를 생각하면 denom1, denom2가 서로 배수 관계면 더 작은 쪽으로 분모 분자 마지막에 나눠야겠는데?
- my_answer (❌)
def solution(numer1, denom1, numer2, denom2):
if type(denom1/denom2)==int and denom1>=denom2:
answer = [(numer1*denom2+numer2*denom1)/denom2, denom1]
elif type(denom2/denom1)==int and denom2>=denom1:
answer = [(numer1*denom2+numer2*denom1)/denom1, denom2]
else:
answer = [(numer1*denom2+numer2*denom1),denom1*denom2]
return answer - 오답
- 파이썬에서 나눗셈 / 는 항상 float를 반환해서 type(~)==int로 만든 조건이 모두 false로 판정남
- 분모, 분자 나눠서 생각.. 최대공약수로 나누면 편한데 어떻게 구하지..
- GPT 선생님 도와줘요
def solution(numer1, denom1, numer2, denom2):
numer = numer1*denom2+numer2*denom1
denom = denom1*denom2
for i in range(min(numer,denom),0,-1): #분자, 분모 중 더 작은 숫자를 골라 그 숫자부터 1까지로 모두 나눴을 때
if numer%i==0 and denom%i==0: #둘 모두에게 딱 떨어지는 i를 찾으면
numer//=i
denom//=i
break #i로 각각 나누고 바로 break (큰 수부터 내려와서 조건에 맞는 첫 i가 자연스럽게 최대 공약수
answer = [numer, denom]
return answer - 다른 사람의 풀이
→ 기본 라이브러리 math 사용해서 math.gcd()로 최대공약수 구한 뒤 분모, 분자 나누어서 출력import math def solution(denum1, num1, denum2, num2): denum = denum1 * num2 + denum2 * num1 num = num1 * num2 gcd = math.gcd(denum, num) return [denum//gcd, num//gcd]
- 컴퓨팅 사고 해보기
출처
내일배움캠프 자료
'TIL > Python' 카테고리의 다른 글
| 코테로 파이썬 공부하기 Ⅷ (0) | 2026.06.01 |
|---|---|
| 코테로 파이썬 공부하기 Ⅶ (0) | 2026.05.29 |
| 코테로 파이썬 공부하기 Ⅵ (0) | 2026.05.28 |
| 코테로 파이썬 공부하기 Ⅲ (0) | 2026.05.25 |
| 코테로 파이썬 공부하기 Ⅰ (0) | 2026.05.20 |