programmers12 [프로그래머스][파이썬] #10. 배열 조각하기 📝 문제 ✔️ 나의 풀이 def solution(arr, query): s, e = 0, 0 for i in range(len(query)): if i % 2 : s += query[i] else: e = s + query[i] +1 return arr[s:e] 🔎 참고 풀이 def solution(arr, query): for k, q in enumerate(query): if k % 2 == 0: arr = arr[:q + 1] else: arr = arr[q:] return arr ✏️ 배운점 짝수와 홀수를 나눠서 생각하게 되면 굉장히 헷갈릴 수 있는 문제였다. 하지만 짝수의 경우 뒷부분을 잘라 버리고, 홀수의 경우 앞부분을 잘라 버리기 때문에 홀수를 시작점, 짝수를 끝점이라고 설정하면 해결할 수.. 2023. 8. 6. [프로그래머스][파이썬] #09. 2의 영역 📝 문제 ✔️ 나의 풀이 🔎 참고 풀이 def solution(arr): cnt = arr.count(2) if cnt == 0: return [-1] elif cnt == 1: return [2] else: two = [i for i in range(len(arr)) if arr[i] == 2] return arr[two[0]:two[-1] + 1] ✏️ 배운점 2가 포함되는 경우를 나눠서 풀면 쉽게 풀 수 있었으나 아이디어가 떠오르지 않아 실패한 문제,, Count 함수를 통해 2가 없는 경우 / 1개 / 2개 이상으로 나누어 풀면 간단했다. 2023. 8. 2. [프로그래머스][파이썬] #08. 부분 문자열 이어 붙여 문자열 만들기 📝 문제 ✔️ 나의 풀이 def solution(my_strings, parts): result = [] for i, (s, e) in enumerate(parts): sub_string = my_strings[i][s:e+1] result.append(sub_string) return "".join(result) 🔎 다른 사람의 풀이 def solution(my_strings, parts): answer = "" for i, (s, e) in enumerate(parts): answer += my_strings[i][s:e+1] return answer ✏️ 배운점 enumerate 함수를 활용하여 반복문을 돌려 result에 부분 문자열을 삽입한 후 "".join(result)를 통해 하나로 통합시.. 2023. 7. 28. [프로그래머스][파이썬] #07. 문자열 여러 번 뒤집기 📝 문제 ✔️ 나의 풀이 def solution(my_string, queries): for s, e in queries: my_string = my_string[:s] + my_string[s:e+1][::-1] + my_string[e+1:] return my_string 🔎 다른 사람의 풀이 내 풀이와 유사하다:) ✏️ 배운점 스타트 지점 s 와 끝 지점 e를 my_string에 넣어 s와 e사이의 문자열을 [::-1]을 활용해 뒤집어 주고 그 외 나머지 문자열을 앞 뒤로 붙여주었다. 2023. 7. 27. 이전 1 2 3 다음