/ 제출 1 /
'''
문제 인풋-아웃풋: n이 주어졌을 때, 인덱스 n기준으로 각 단어를 정렬
주요 예외:
! 해당 인덱스 자리 문자가 같으면
! 단어 전체가 사전순으로 앞선게 앞으로
# 1. string을 돌며, [해당 인덱스 자리 문자, 해당 단어] 원소를 리스트에 넣기
# 2. 1의 리스트를 [0]기준 정렬, [1]길이 기준 정렬
# 3. 2처리 끝난 리스트를 [0] 순서대로 뽑아 answer에 넣기
## strings: 100 * 50 이므로 O(n), O(nLogn), O(n) 무리 없다고 판단
'''
def solution(strings, n):
answer = []
charAndWordList = getCharWordList(strings, n);
print(charAndWordList)
sortedCharAndWordList = sorted(charAndWordList,
key = lambda x:(x[0], x[1]))
answer = makeAnswer(sortedCharAndWordList, answer)
return answer
def getCharWordList(stringList, targetIndex):
resultList = []
for string in stringList:
resultList.append((string[targetIndex],string))
return resultList
def makeAnswer(sortedList, answer):
for char, word in sortedList:
answer.append(word)
return answer
채점 결과
정확성: 100.0
합계: 100.0 / 100.0
레벨 1이라서 풀기 만만했던 것도 있고, 함수화해서 구조를 명확히 하니까 스스로 이해하기도 쉬웠습니다.
간단한 메모 내용은 종이에 안 그리고 주석화해서 바로 코드에디터에서 정리해도 나쁘지 않은 것 같습니다.
코드 구성하면서 바로바로 아이디어 찾고 고치기에 용이한 것 같습니다. 대신 마지막에 필요없는거 정리해서 제출해야합니다.
물론, 종이에 그려가면서도 푸는 것이 좋습니다.
코테 망치고 스트레스 받았는데, 가뿐하게 풀리는 문제 푸니까 조금 마음이 진정됩니다.
다시 천천히 반복하면서 실력 올려보겠습니다.
'CodingTest > Programmers' 카테고리의 다른 글
[ 프로그래머스 ] 스킬체크 탄탄한 비기너 (0) | 2022.07.15 |
---|---|
[ 프로그래머스 ] 스킬체크 굿스타터 (0) | 2022.07.07 |
[ 프로그래머스 ] [1차] 다트게임 (0) | 2022.07.01 |
[ 프로그래머스 ] 자물쇠와 열쇠 (0) | 2022.07.01 |
[ 프로그래머스 ] 거리두기 (0) | 2022.06.30 |