코딩테스트/programmers (python)

20240104/ programmers/ 0단계/ python

seulll 2024. 1. 4. 20:52

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

2. 코딩테스트 연습 - 수 조작하기 2 | 프로그래머스 스쿨 (programmers.co.kr)

문제설명

 

나의 풀이

def solution(numLog):
    result=""
    for i in range(1, len(numLog)):
        if numLog[i]-numLog[i-1]==1:
            result+="w"
        elif numLog[i]-numLog[i-1]==-1:
            result+="s"
        elif numLog[i]-numLog[i-1]==10:
            result+="d"
        else:
            result+="a"
    return result

 

모범답안

def solution(log):
    res=''
    joystick=dict(zip([1,-1,10,-10],['w','s','d','a']))
    for i in range(1,len(log)):
        res+=joystick[log[i]-log[i-1]]
    return res

 

3.  코딩테스트 연습 - 문자열 잘라서 정렬하기 | 프로그래머스 스쿨 (programmers.co.kr)

4. 코딩테스트 연습 - 9로 나눈 나머지 | 프로그래머스 스쿨 (programmers.co.kr)

5. 코딩테스트 연습 - 세로 읽기 | 프로그래머스 스쿨 (programmers.co.kr)

 

문제 설명

문자열 my_string과 두 정수 mc가 주어집니다. my_string을 한 줄에 m 글자씩 가로로 적었을 때 왼쪽부터 세로로 c번째 열에 적힌 글자들을 문자열로 return 하는 solution 함수를 작성해 주세요

나의 풀이

2차원 배열로 접근해서 실패

 

모범 답안

def solution(my_string, m, c):
    answer = ''
    for i in range(c-1,len(my_string),m): 
        answer+=my_string[i]
    return answer
def solution(s, m, c):
    return s[c-1::m]

 

6. 코딩테스트 연습 - 등차수열의 특정한 항만 더하기 | 프로그래머스 스쿨 (programmers.co.kr)

풀이 참고

def solution(a, d, included):
    answer = 0
    for i in range(len(included)):
        answer += (a + d * i) * int(included[i])
    return answer

 

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

문제 설명

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

각 query마다 순서대로 s ≤ i ≤ e인 모든 i에 대해 arr[i]에 1을 더합니다.

위 규칙에 따라 queries를 처리한 이후의 arr를 return 하는 solution 함수를 완성해 주세요.

나의 풀이

.

모범 답안

def solution(arr, queries):
    for l,r in queries:
        for i in range(l,r+1): arr[i]+=1
    return arr

 

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

9. 코딩테스트 연습 - 중복된 문자 제거 | 프로그래머스 스쿨 (programmers.co.kr)

 

풀이 참고

def solution(my_string):
    return ''.join(dict.fromkeys(my_string))

 

10. 코딩테스트 연습 - 날짜 비교하기 | 프로그래머스 스쿨 (programmers.co.kr)

11. 코딩테스트 연습 - 이차원 배열 대각선 순회하기 | 프로그래머스 스쿨 (programmers.co.kr)

12. 코딩테스트 연습 - 글자 지우기 | 프로그래머스 스쿨 (programmers.co.kr)

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

 

나의 풀이

def solution(my_string, s, e):
    s1=""
    s1+=my_string[:s]
    for i in range(e,s-1,-1):
        s1+=my_string[i]
    s1+=my_string[e+1:]
    return s1

 

풀이 참고

def solution(my_string, s, e):
    return my_string[:s]+my_string[s:e+1][::-1]+my_string[e+1:]

14. 코딩테스트 연습 - 콜라츠 수열 만들기 | 프로그래머스 스쿨 (programmers.co.kr)

15. 코딩테스트 연습 - 빈 배열에 추가, 삭제하기 | 프로그래머스 스쿨 (programmers.co.kr)