(TIS) 20210515

HEYDAY7·2021년 5월 15일
0

Today I Solved

목록 보기
5/9

Level 2 끝내기

프로그래머스 "가장 큰 수"

지난번에 두번이나 시도하다가 실패했던 문제다. insertion sort를 이용해서 문제를 해결했다. 다른 문제들을 풀면서 이 문제는 분명 sorting으로 어떻게 가능할 것이라고 생각하고 있었는데... 다른 사람의 풀이를 보아하니 역시나 sorting으로 간단히 풀었더라.

  • 기억하고 넘어갈 것!!! 숫자를 str 형태에서 정렬시키면 앞 자리수가 큰 순서대로 정렬이 된다!!!

  • 231 과 23 을 비교했을 땐 23까지는 동일하고, 그 이후에는 길이가 긴게 뒤쪽으로 오게된다.

  • 문자열을 곱해서 길이를 늘려 비교하는 스킬을 기억하자

  • cmp_to_key !!!!! 내 맘대로 정렬하기!

프로그래머스 "이진 변환 반복하기"

매우 쉽다.

프로그래머스 "쿼드압축 후 갯수세기"

그다지 어려운 알고리즘이 필요한건 아니다. 재귀의 개념만 알면 충분히 풀 수 있다. numpy를 이용하면 코드적으로는 조금 간단해진다. 다만 numpy를 쓰면 속도가 너무 느려지니 그냥 푸는 게 좋을 수도 있다.

  • all과 any는 numpy에도 존재한다. 이중 list의 경우에는 일반적인 all이 안먹히는데, numpy에서는 각각의 요소를 다중 array 원소로 파악하므로 all과 any를 사용할 수 있다.

프로그래머스 "튜플"

더 쉽게 풀 수 있었는데 어렵게 돌아갔다. 정규표현식을 활용해보려고 노력한 거는 좋았다!!! 생각을 조금만 더 했으면 10분 내로도 풀었을 거 같다... 아쉽

  • Counter 객체를 잊지말자

프로그래머스 "괄호 회전하기"

좀 조악하게 브루트 포스하게 문제를 해결했다.

프로그래머스 "2개 이하로 다른 비트"

수학적으로 문제를 풀었다.

프로그래머스 "게임 맵 최단거리"

BFT를 통해서 깔끔하게 풀었다! 단순하지만 좋은 문제인 것 같다

프로그래머스 "수식 최대화" 굳

내 방식대로 풀었으나 다른 분의 아주 깔끔하고 맘에드는 풀이가 있어 많이 배웠다.

  • 계산순서는 괄호를 넣는 것으로 조작할 수 있다는 점을 잊지 말자
  • f"{}", f expression을 통해서 문자열을 쉽게 조작할 수 있다.
  • 문자열로 된 수식의 경우 eval() 함수를 통해서 계산 가능하다.

프로그래머스 "가장 큰 정사각형 찾기"

문제는 브루트 포스하게 해결은 했지만 효율성에서 계속 걸리고 있다. 질문들을 보니 DP를 활용하라는데 이 DP가 뭔지 정확히 감이 안와서 따로 공부를 하고 와야할 것 같다.

profile
(전) Junior Android Developer (현) Backend 이직 준비생

0개의 댓글