1. 코딩테스트 연습 - 5명씩 | 프로그래머스 스쿨 (programmers.co.kr)
2. 코딩테스트 연습 - ad 제거하기 | 프로그래머스 스쿨 (programmers.co.kr)
문제 설명
문자열 배열 strArr가 주어집니다. 배열 내의 문자열 중 "ad"라는 부분 문자열을 포함하고 있는 모든 문자열을 제거하고 남은 문자열을 순서를 유지하여 배열로 return 하는 solution 함수를 완성해 주세요.
나의 풀이 (테스트 에러)
def solution(strArr):
for i in strArr:
if "ad" in i:
strArr.remove(i)
return strArr
문제점
remove(i)는 리스트에서 i번째에 있는 값을 제거하는 동작을 함.
하지만 이를 for-in loop안에서 수행할 경우 정상적으로 모든 리스트를 순회하지 못할 수 있음.
재시도 (정답)
def solution(strArr):
result=[]
for i in strArr:
if "ad" not in i:
result.append(i)
return result
3. 코딩테스트 연습 - 특별한 이차원 배열 2 | 프로그래머스 스쿨 (programmers.co.kr)
4. 코딩테스트 연습 - 접미사 배열 | 프로그래머스 스쿨 (programmers.co.kr)
5. 코딩테스트 연습 - 덧셈식 출력하기 | 프로그래머스 스쿨 (programmers.co.kr)
6. 코딩테스트 연습 - l로 만들기 | 프로그래머스 스쿨 (programmers.co.kr)
7. 코딩테스트 연습 - 꼬리 문자열 | 프로그래머스 스쿨 (programmers.co.kr)
8. 코딩테스트 연습 - 문자열 바꿔서 찾기 | 프로그래머스 스쿨 (programmers.co.kr)
9. 코딩테스트 연습 - 문자 리스트를 문자열로 변환하기 | 프로그래머스 스쿨 (programmers.co.kr)
10. 코딩테스트 연습 - 외계행성의 나이 | 프로그래머스 스쿨 (programmers.co.kr)
11. 코딩테스트 연습 - 피자 나눠 먹기 (2) | 프로그래머스 스쿨 (programmers.co.kr)
문제설명
머쓱이네 피자가게는 피자를 여섯 조각으로 잘라 줍니다. 피자를 나눠먹을 사람의 수 n이 매개변수로 주어질 때, n명이 주문한 피자를 남기지 않고 모두 같은 수의 피자 조각을 먹어야 한다면 최소 몇 판을 시켜야 하는지를 return 하도록 solution 함수를 완성해보세요
나의 풀이
.
모범답안
def solution(n):
pizza = 6
while pizza % n != 0:
pizza +=6
return pizza/6
12. 코딩테스트 연습 - 문자열 돌리기 | 프로그래머스 스쿨 (programmers.co.kr)
13. 코딩테스트 연습 - 주사위 게임 2 | 프로그래머스 스쿨 (programmers.co.kr)
문제설명
나의 풀이
.
모범답안
def solution(a, b, c):
answer=a+b+c
if a==b or b==c or a==c: answer*=a**2+b**2+c**2
if a==b==c:answer*=a**3+b**3+c**3
return answer
def solution(a, b, c):
check=len(set([a,b,c]))
if check==1:
return 3*a*3*(a**2)*3*(a**3)
elif check==2:
return (a+b+c)*(a**2+b**2+c**2)
else:
return (a+b+c)
※ set 함수로 중복값 확인
14. 코딩테스트 연습 - 특별한 이차원 배열 1 | 프로그래머스 스쿨 (programmers.co.kr)
문제설명
정수 n이 매개변수로 주어질 때, 다음과 같은 n × n 크기의 이차원 배열 arr를 return 하는 solution 함수를 작성해 주세요
나의 풀이
이중 for문을 사용하여 시도 -> 2차원 배열로 분리 실패
모범답안
def solution(n):
result=[[0]*n for i in range(n)]
for i in range(n):
result[i][i]=1
return result
15. ★ 코딩테스트 연습 - 합성수 찾기 | 프로그래머스 스쿨 (programmers.co.kr)
문제설명
약수의 개수가 세 개 이상인 수를 합성수라고 합니다. 자연수 n이 매개변수로 주어질 때 n이하의 합성수의 개수를 return하도록 solution 함수를 완성해주세요.
나의 풀이
def solution(n):
num = []
count = 0
for i in range(2,n+1):
for j in range(1,i+1):
if i % j == 0 :
num.append(i)
if num.count(i) >=3:
count += 1
return count
모범답안 (컴파일 시간 감소)
def solution(n):
output = 0
for i in range(4, n + 1):
for j in range(2, int(i ** 0.5) + 1):
if i % j == 0:
output += 1
break
return output
'코딩테스트 > programmers (python)' 카테고리의 다른 글
20240105/ programmers/ 0단계/ python (0) | 2024.01.05 |
---|---|
20240104/ programmers/ 0단계/ python (3) | 2024.01.04 |
programmers / 0 떼기 (0단계) /python (0) | 2024.01.02 |
programmers / 부분 문자열 이어 붙여 문자열 만들기(0단계) / python (0) | 2024.01.01 |
programmers / 피로도 (2단계) / python (0) | 2023.12.27 |