-
8.9.수요일 / 아침에 일어나서 도서관 간 날 // 7시 10분 부터 공부 시작TIL( Today I Learned) 2023. 8. 10. 00:41
8.9
1, 데일리 리포트를 써야하는 이유 - 아주 잘 봤다.
2,그 때문인지 누웠다 일어나 피곤해서 하마트면 잊어버린 T.I.L을 했다
3.오늘은 코딧강의 집중하고, 너무 일찍 일어나서 생활리듬 맞추기에. 급급해서, 프로그래머스 문제는 복습을 몇개 못했다.
그래도 문제를 어떻게 풀었는지 기억은 안나지만, 묘한 긴장감에 풀었는데, 다 맞고 , 특히 더 나은 방법으로 풀어서 기분이 좋았다.
- 글자 지우기
문제 설명
문자열 my_string과 정수 배열 indices가 주어질 때, my_string에서 indices의 원소에 해당하는 인덱스의 글자를 지우고 이어 붙인 문자열을 return 하는 solution 함수를 작성해 주세요.
제한사항
- 1 ≤ indices의 길이 < my_string의 길이 ≤ 100
- my_string은 영소문자로만 이루어져 있습니다
- 0 ≤ indices의 원소 < my_string의 길이
- indices의 원소는 모두 서로 다릅니다.
입출력 예
my_string indices result "apporoograpemmemprs" [1, 16, 6, 15, 0, 10, 11, 3] "programmers" 입출력 예 설명
입출력 예 #1
- 예제 1번의 my_string의 인덱스가 잘 보이도록 표를 만들면 다음과 같습니다.
•
indices에 있는 인덱스의 글자들을 지우고 이어붙이면 "programmers"가 되므로 이를 return 합니다.• 0 • 1 • 2 • 3 • 4 • 5 • 6 • 7 • 8 • 9 • 10 • 11 • 12 • 13 • 14 • 15 • 16 • 17 • 18 • my_string • a • p • p • o • r • o • o • g • r • a • p • e • m • m • e • m • p • r • s 쳇것이 정말 어렵게 풀었다.
def solution(my_string, indices):
char_list = list(my_string)
# Sort the indices in descending order to avoid index shifting during removal
sorted_indices = sorted(indices, reverse=True)
# Remove characters at the specified indices
for i in sorted_indices:
if 0 <= i < len(char_list): # Check if the index is valid
char_list.pop(i)
# Join the remaining characters to form the new string
new_string = ''.join(char_list)
return new_string
여유를 가지고 다시 푼거 8/9일
def solution(my_string, indices):
answer =''
for i,v in enumerate(my_string):
if i not in indices:
answer += my_string[i]
return answer
예전에도 풀었는데 스타일이 달라졌다
7/27일
def solution(my_string, indices):
msls = list(my_string)
for i in indices:
msls[i] = ''
ms1 = ''.join(msls)
return ms1
- 수열과 구간 쿼리 3
-
문제 설명
정수 배열 arr와 2차원 정수 배열 queries이 주어집니다. queries의 원소는 각각 하나의 query를 나타내며, [i, j] 꼴입니다.
각 query마다 순서대로 arr[i]의 값과 arr[j]의 값을 서로 바꿉니다.
위 규칙에 따라 queries를 처리한 이후의 arr를 return 하는 solution 함수를 완성해 주세요.
제한사항
- 1 ≤ arr의 길이 ≤ 1,000
- 1 ≤ queries의 길이 ≤ 1,000
입출력 예
arr queries result [0, 1, 2, 3, 4] [[0, 3],[1, 2],[1, 4]] [3, 4, 1, 0, 2] 입출력 예 설명
입출력 예 #1
- 각 쿼리에 따라 arr가 다음과 같이 변합니다.
arr [0, 1, 2, 3, 4] [3, 1, 2, 0, 4] [3, 2, 1, 0, 4] [3, 4, 1, 0, 2] 따라서 [3, 4, 1, 0, 2]를 return 합니다.
다시 풀어도 전과 똑같이 풀었다
def solution(arr,queries):
for query in queries:
s,e = query
arr[s],arr[e] = arr[e],arr[s]
return arr
- 문자열 뒤집기
-
문제 설명
문자열 my_string과 정수 s, e가 매개변수로 주어질 때, my_string에서 인덱스 s부터 인덱스 e까지를 뒤집은 문자열을 return 하는 solution 함수를 작성해 주세요.
제한사항
- my_string은 숫자와 알파벳으로만 이루어져 있습니다.
- 1 ≤ my_string의 길이 ≤ 1,000
- 0 ≤ s ≤ e < my_string의 길이
입출력 예
my_string s e result "Progra21Sremm3" 6 12 "ProgrammerS123" "Stanley1yelnatS" 4 10 "Stanley1yelnatS" 입출력 예 설명
입출력 예 #1
- 예제 1번의 my_string에서 인덱스 6부터 인덱스 12까지를 뒤집은 문자열은 "ProgrammerS123"이므로 "ProgrammerS123"를 return 합니다.
입출력 예 #2
- 예제 2번의 my_string에서 인덱스 4부터 인덱스 10까지를 뒤집으면 원래 문자열과 같은 "Stanley1yelnatS"이므로 "Stanley1yelnatS"를 return 합니다.
def solution(my_string, s, e):
return my_string[:s] + my_string[s:e+1][::-1] + my_string[e+1:]
def solution(my_string,s,e):
return my_stirng[:s]+my_string[e:s-1:-1] + my_string[e+1:]
'TIL( Today I Learned)' 카테고리의 다른 글
8.11.금요일 (0) 2023.08.11 8.10.목요일 코딧 강의 & 프로그래머스 문제 복습 (1) 2023.08.10 8.8.화요일 (0) 2023.08.08 8.7.월요일 코딧 강의 , 프로그래머스 복습 (0) 2023.08.07 8.6.일요일 (0) 2023.08.06