알.고.리.즘 어렵다..
풀면 풀수록 어렵네
프로그래머스
https://school.programmers.co.kr/learn/courses/30/lessons/12918
문자열 다루기
이문제는 어제 풀었던 "문자열 정렬하기"와 거의 유사한 방법으로 풀면 된다! 때문에 어제자 TIL을 확인하자.
https://hanilcome.tistory.com/29
프로그래머스
https://school.programmers.co.kr/learn/courses/30/lessons/12915
문자열 내 마음대로 정렬하기
너무나도 어려웠던 문제 .. 일단 내가 풀었던 코드는 다음과 같다.
def solution(strings, n):
answer = []
lens = len(strings)
copy_ = strings
num = 0
str_index = []
max_ = []
while num < lens:
if len(copy_) == 1:
max_ = copy_[0]
else:
for i in copy_:
str_index.extend(i[n])
for a in range(0, len(str_index)-1):
if str_index[0] == str_index[a+1]:
if copy_[0] > copy_[a+1]:
max_ = copy_[0]
else:
max_ = copy_[a+1]
elif str_index[0] > str_index[a+1]:
max_ = copy_[0]
elif str_index[0] < str_index[a+1]:
str_index[0] = str_index[a+1]
max_ = copy_[a+1]
answer.append(max_)
copy_.remove(max_)
num += 1
str_index = []
answer.reverse()
return answer
copy_.remove(max_)를 쓴이유는 이게 없으면 while문을 돌렸을때 처음나온 가장 큰값이 계속해서 반복적으로 나온다. 따라서 값이 나온 max_값을 strings를 복사한 copy_에서 지워주면, 그 값을 제외한 바로 다음 큰 수를 뽑을 수 있겠다 싶어서 넣은것이다.
하지만... 테스트는 통과 했지만 통과는 못했다. 여러 반례를 찾아가며 다음에 다시 고쳐봐야겠다.
'내일 배움 캠프 > TIL' 카테고리의 다른 글
TIL) 6주차 5일 (0) | 2023.04.24 |
---|---|
TIL) 6주차 4일 (0) | 2023.04.24 |
TIL) 6주차 2일 (0) | 2023.04.20 |
TIL) 6주차 1일 (0) | 2023.04.18 |
TIL) 5주차 5일 (0) | 2023.04.15 |