26-05-26
코테로 배워보는 파이썬
코딩테스트 연습 | 프로그래머스 스쿨
개발자 취업의 필수 관문 코딩테스트를 철저하게 연습하고 대비할 수 있는 문제를 총망라! 프로그래머스에서 선발한 문제로 유형을 파악하고 실력을 업그레이드해 보세요!
school.programmers.co.kr
코테 문제 풀어보고 응용 문제 생각나는거 직접 풀어보기!
- 각도기
각에서 0도 초과 90도 미만은 예각, 90도는 직각, 90도 초과 180도 미만은 둔각 180도는 평각으로 분류합니다. 각 angle이 매개변수로 주어질 때 예각일 때 1, 직각일 때 2, 둔각일 때 3, 평각일 때 4를 return하도록 solution 함수를 완성해주세요.- 컴퓨팅 사고
- if 문 사용해서 조건별 출력값 지정
- my_answer (⭕)
def solution(angle):
if angle == 180:
answer = 4
elif angle > 90:
answer = 3
elif angle == 90:
answer = 2
elif angle > 0:
answer = 1
return answer - 다른 사람 풀이
def solution(angle):
answer = (angle // 90) * 2 + (angle % 90 > 0) * 1
return answer- angle//90의 결과는 0(0<angle<90), 1(90<=angle<180), 2(angle=180)
- angle%90>0의 결과는 나누어 떨어지지 않을 때 1(True), 180 or 90일 때 0(False)
- 두 계산의 합으로 각 조건이 1, 2, 3, 4로 출력
- 가장 뒤의 *1은 없어도 실행 가능
- 컴퓨팅 사고
- 짝수의 합
정수 n이 주어질 때, n이하의 짝수를 모두 더한 값을 return 하도록 solution 함수를 작성해주세요.
- 컴퓨팅 사고
- range(n+1) 범위에서 짝수 조건 i%2==0 을 만족하는 i의 합을 구하기
- my_answer (⭕)
def solution(n):
sum=0
for i in range(n+1):
if i%2==0:
sum+=i
return sum - 다른 사람의 무게
def solution(n):
return sum([i for i in range(2, n + 1, 2)]) #- 처음 리스트 컴프리헨션 사용했을 때 sum(i) for i in range(2, n + 1, 2) 로 입력을 했다.
실행 오류가 발생했고 원인은 sum(i)를 따로 먼저 실행하기 떄문에
sum() 내부에 리스트 컴프리헨션을 작성해야 sum 내부에 리스트 값을 합쳐서 하나의 결과로 출력한다.
- 처음 리스트 컴프리헨션 사용했을 때 sum(i) for i in range(2, n + 1, 2) 로 입력을 했다.
- 컴퓨팅 사고
- 짝수와 홀수
정수 num이 짝수일 경우 "Even"을 반환하고 홀수인 경우 "Odd"를 반환하는 함수, solution을 완성해주세요.- 컴퓨팅 사고
- 짝수 조건 사용해서 'Even', else로 'Odd' 반환
- my_answer (⭕)
def solution(num):
if num%2==0:
answer = 'Even'
else:
answer = 'Odd'
return answer - 다른 사람 풀이
def solution(num):
return "Even" if num%2==0 else "Odd"
- 컴퓨팅 사고
- 평균 구하기
정수를 담고 있는 배열 arr의 평균값을 return하는 함수, solution을 완성해보세요.
- 컴퓨팅 사고
- 배열 합(sum)을 배열 길이(len)로 나누기
- my_answer (⭕)
def solution(arr):
answer = sum(arr)/len(arr)
return answer
- 컴퓨팅 사고
- 자릿수 더하기
자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요.
예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다.- 컴퓨팅 사고
- n을 문자열 → map → 리스트 변환 후 다시 정수 변환 → sum
- my_answer (❌)
def solution(n):
a_list = list(map(int,str(n)))
b_list = list(map(int,a_list))
answer = sum(b_list)
return answer
- 컴퓨팅 사고
Python 실력 쑥쑥 심화 세션 2회차
알아두면 좋은 파이썬 문법
- try / except : try에서 에러 발생 시 except 시행
즉, except 시행 이후에는 다시 try로 돌아가지 않음 → 코드_블록2까지 시행 후 코드_블록4 출력- 예시
try:
코드_블록1
코드_블록2 #에러 코드
코드_블록3
except:
print('에러 발생') #코드_블록2에서 에러 발생하면 except에서 에러 발생 출력
- 예시
- enumerate : 인덱스 번호와 값을 같이 꺼내는 문법
for index, value in enumerate(리스트):
- 예시 1
fruits = ["apple", "banana", "orange"]
for i, fruit in enumerate(fruits):
print(i, fruit)
#출력 → 매개변수 2개 지정하면 아래와 같이 출력
0 apple
1 banana
2 orange - 예시 2
fruits = ["apple", "banana", "orange"]
for x in enumerate(fruits):
print(x)
#출력 → 매개변수 1개만 지정하면 튜플 형태로 출력
(0, 'apple')
(1, 'banana')
(2, 'orange')
- 예시 1
- lambda : 간단한 함수를 한 줄로 만드는 문법
def add(x):
return x + 1
↓
lambda x: x + 1- 예시
numbers = [1, 2, 3]
result = list(map(lambda x: x * 2, numbers)) #numbers의 모든 요소(x)에 대해(map) 2를 곱해서 x로 반환한 뒤 list로 저장
print(result)
- 예시
- list / map : 모든 요소에 같은 작업을 적용하는 함수(map), list의 형태로 만들어주는 함수(list())
list(map(함수, 리스트))
- 예시
numbers = [1, 2, 3, 4, 5]
result = list(filter(lambda x: x % 2 == 0, numbers))
print(result) #2, 4
- 예시
- filter : 조건에 맞는 것만 골라내는 함수
filter(조건함수, 리스트)
- 예시
numbers = [1, 2, 3, 4, 5]
result = list(filter(lambda x: x % 2 == 0, numbers)) #numbers에서 짝수만 골라(filter) 리스트로 저장(list)
print(result) #[2,4]
- 예시
'TIL > 내일배움캠프' 카테고리의 다른 글
| 파이썬 환경 구축은 어떻게 하나요? (0) | 2026.05.28 |
|---|---|
| 코테로 파이썬 공부하기 Ⅴ (0) | 2026.05.27 |
| 파이썬으로 데이터 분석하기 Ⅲ (0) | 2026.05.21 |
| 파이썬으로 데이터 분석하기 Ⅱ (0) | 2026.05.20 |
| 파이썬으로 데이터 분석하기 Ⅰ (0) | 2026.05.19 |