(TIS) 21210514

HEYDAY7·2021년 5월 14일
0

Today I Solved

목록 보기
4/9

내일까지 Level2를 다 풀어보자!

프로그래머스 '스킬트리'

문제를 너무 복잡하게만 생각할 필요가 없다는 교훈을 준다.

  • for - else문을 알고 있었지만 이렇게 써먹는 다는 것을 알았다. for -else는 for문과 else를 병렬로 사용하는 것으로 else문은 for 문이 break되지 않고 끝났을 경우~ 실행된다.

프로그래머스 "영어 끝말잇기"

간단하게 풀 수 있다. 메모리를 살짝 사용하면 성능을 올릴 수 있는 것 같다!! (set활용)

프로그래머스 '점프와 순간 이동'

간단하게 풀었다. 다른 사람의 풀이에서 이진수 풀이를 보고 오.... 좀 더 고민해볼걸 생각은 했다. 다음엔 2로 곱하거나 나누는 상황에선 이진수를 고려해보자!

프로그래머스 '방문 길이'

set을 활용해서 풀면 그다지 복잡하지 않다.

프로그래머스 '배달'

Graph의 BFS를 살짝 비틀어서 문제를 해결하면 된다. visited 없이 이전에 방문했더라도 현재 방문한 경로의 distance가 짧을 경우 update해주고 재탐색 하는 방식으로 문제를 풀었다. weight를 사용하는 문제는 처음 풀어봐서 살짝 헤맸지만 어렵지는 않다.

  • 다른 사람들을 보니 다익스트라 알고리즘을 사용하려고 했다네... 이전에 학교 수업에서 봤던 알고리즘인 것 같다. 다시 시간내서 한번 보자

프로그래머스 '예상 대진표'

쉽게 풀었다. 그러나 어마무시한 bitwise한 풀이가 존재했다!!!!! .역시나 2의 거듭제곱꼴이 고려될 수 있는 문제라면 항상 bit로 풀어보는 연습도 해보자...

프로그래머스 '[1차] 뉴스 클러스터링'

set 연산을 이용하면 쉽게 풀 수 있다.
기억하고 넘어갈점
1. set 교집합은 A & B
2. set 합집하은 A | B
3. str은 .isaplha()라는 method가 있다!!!

프로그래머스 '[1차] 캐시'

우선 캐시에 대한 배경지식이 살짝 부족했다!! 이 부분은 추가적인 글을 작성해보자
deque의 활용성!! maxlen을 통해서 deque를 만들면, 최대 길이 이상을 append하면 알아서 가장 앞쪽에 있는게 나오게 된다. 따라서 최근 n개의 데이터를 기록하기 용ㅇ이하다!!!1

프로그래머스 '[1차] 프렌즈4블록' 굳(생각이 좋다기 보다는 일단 풀어보는데 중점으로)

numpy와 set, list를 적절히 활용해서 해결한 문제인 것 같다. 한번쯤 다시 볼 만하기는 할듯

프로그래머스 '[3차] n진수 게임' / 16분 30초 / 굳

배열을 늘어뜨리고, 그 안에서 골라서 가져간다는 느낌으로 하니 괜찮게 풀렸다!!

프로그래머스 '[3차] 파일명 정렬' / 21분 / 굳

나는 꾸역꾸역 풀었는데... 정규표현식 사용하신 분들의 풀이가 너무 깔끔하다. 이참에 정규표현식을 공부하면 딱 좋을 것 같다.
풀어보니 정규표현식이 아니더라도 성능자체는 비슷하다, 다만 코드의 양과 가독성에서 압도적으로 차이가난다...

프로그래머스 '[3차] 압축' / 15분

나쁘지 않게 해결했다. pointer 관련해서 아직 살짝씩 혼동을 한다. 익숙해지면 좋을 것 같다.(여기서 포인터는 indexing 할때 indexing 영역에 대한이야기!)

프로그래머스 '[3차] 방금그곡' / 38분

변환을 통해서 문제를 좀 간소화 시켜서 풀었다. 삽질을 좀 하긴 했는데 진작에 C# -> '?' 이런 식으로 다른 것으로 변환해서 풀었으면 더 빨리 풀었을 것 같다.
의외로 시간형태의 string으로 주어진 숫자를 뺄셈하는게 힘들었다.(힘들다기 보다는 코드가 더러워서 맘에들지 않는 것이다.)

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

0개의 댓글