어제 목표 & 오늘 완료한 한 일
알고리즘 문제- 자바 종합 문법 복습 (3주차)
스프링 숙련 강의 (2주차)➡️ 진행중스프링 숙련 개인과제➡️ 진행중알고리즘 스터디
내일 목표
- 알고리즘 문제
- 자바 종합 문법 복습 (3주차)
- 스프링 숙련 강의 (2주차)
- 스프링 숙련 개인과제
오늘 배운 내용
- SQL 문제
- IFNULL() - 첫 번째 인자가 NULL인 경우 두 번째 인자를 표시하고 NULL이 아닌 경우에는 원래 값을 그대로 표시
- IFNULL() - 첫 번째 인자가 NULL인 경우 두 번째 인자를 표시하고 NULL이 아닌 경우에는 원래 값을 그대로 표시
- 알고리즘 문제
- 강의
느낀점
def solution(strings, n):
answer = []
dic = dict()
for string in strings:
dic[string] = string[n]
answer = sorted(dic, key=lambda item:item[n])
for i in range(len(strings)-1):
print(answer[i], answer[i+1])
if answer[i] > answer[i+1] and answer[i][n] == answer[i+1][n]:
answer[i], answer[i+1] = answer[i+1], answer[i]
return answer
오늘 풀었던 알고리즘 문제를 풀 때 처음에는 위의 코드처럼 작성했었다. 사실 이 문제를 해결하는데까지 정말 오랜시간이 걸렸다. 같은 문자열이 여럿 일 경우가 해결이 안돼서 어떻게 해야할까 생각하던 중 갑자기 '이렇게 하면 되려나..?'하고 생각난게 바로 우선적으로 정렬을 하고 n번째 자리에 있는 문자열에 따라 정렬을 하는 방법이었다. strings.sort()만 추가하고 2번째 for문을 지워주니 바로 해결이 됐다. 오랜시간동안 뭘 한건가 너무 허무했지만 그래도 기분이 좋았다. 매니저님도, 팀원분도 문제를 30분-1시간정도 풀다가 잘 안 풀리면 다른 사람의 풀이를 보고 공부를 하는 것을 추천한다고 이야기해주셨던 걸로 기억하는데 하다보면 그게 잘 안된다. 모르는 거 검색하면서 풀더라도 직접 풀고 싶기도 하고, 뭔가 풀릴 것 같은데 안 풀려서 계속 풀게되는 것도 있는 것 같다. 안되는 문제를 계속 붙잡고 있어서 발전이 없는건지도 모르겠다. 이제는 시간맞춰놓고 풀다가 정해놓은 시간내에 안 풀리는 문제는 깔끔히 포기하고 다른 사람 코드 보면서 공부를 한 후, 1-2일 뒤에 다시 풀어봐야겠다.
'TIL & WIL' 카테고리의 다른 글
[TIL] #60. 231112 (0) | 2023.11.12 |
---|---|
[TIL] #59. 231111 (0) | 2023.11.11 |
[TIL] #57. 231109 (1) | 2023.11.09 |
[TIL] #56. 231108 (0) | 2023.11.08 |
[TIL] #55. 231107 (0) | 2023.11.07 |