코딩테스트/programmers (python)

20240108/ programmers/ 0단계/ python

seulll 2024. 1. 8. 17:06

1. 코딩테스트 연습 - 왼쪽 오른쪽 | 프로그래머스 스쿨 (programmers.co.kr)

2. 코딩테스트 연습 - 배열 만들기 6 | 프로그래머스 스쿨 (programmers.co.kr)

3. 코딩테스트 연습 - 문자열 여러 번 뒤집기 | 프로그래머스 스쿨 (programmers.co.kr)

4. 코딩테스트 연습 - 조건 문자열 | 프로그래머스 스쿨 (programmers.co.kr)

풀이 참고

def solution(ineq, eq, n, m):
    return int(eval(str(n)+ineq+eq.replace('!', '')+str(m)))

 

5. 코딩테스트 연습 - [PCCE 기출문제] 2번 / 피타고라스의 정리 | 프로그래머스 스쿨 (programmers.co.kr)

6. 코딩테스트 연습 - [PCCE 기출문제] 3번 / 나이 계산 | 프로그래머스 스쿨 (programmers.co.kr)

7. 코딩테스트 연습 - 수열과 구간 쿼리 2 | 프로그래머스 스쿨 (programmers.co.kr)

문제 설명

정수 배열 arr와 2차원 정수 배열 queries이 주어집니다. queries의 원소는 각각 하나의 query를 나타내며, [s, e, k] 꼴입니다.

 query마다 순서대로 s  i  e인 모든 i에 대해 k보다 크면서 가장 작은 arr[i]를 찾습니다.

각 쿼리의 순서에 맞게 답을 저장한 배열을 반환하는 solution 함수를 완성해 주세요.
단, 특정 쿼리의 답이 존재하지 않으면 -1을 저장합니다.

 

나의 풀이

.

 

모범 답안

def solution(arr, queries):
    answer = []
    for s, e, k in queries:
        tmp = []
        for x in arr[s:e+1]:
            if x > k:
                tmp.append(x)
        answer.append(-1 if not tmp else min(tmp))
    return answer

 

8. 코딩테스트 연습 - 무작위로 K개의 수 뽑기 | 프로그래머스 스쿨 (programmers.co.kr)

풀이 참고

def solution(arr, k):
    ret = []
    for i in arr:
        if i not in ret:
            ret.append(i)
        if len(ret) == k:
            break

    return ret + [-1] * (k - len(ret))

9. 코딩테스트 연습 - 정사각형으로 만들기 | 프로그래머스 스쿨 (programmers.co.kr)

10. 코딩테스트 연습 - a와 b 출력하기 | 프로그래머스 스쿨 (programmers.co.kr)