jun-wiki

View My GitHub Profile

Posts (Latest 10 updated) :
Read all

오늘도 알고리즘이다

예전에 풀었던 문자열 폭발 풀어보았다 백준 9935다

리스트 슬라이싱과 스택 사용해서 풀었다

처음에는 스캔해서 삭제하려 했는데 시간복잡도 N^2라 포기하고

스택 만들어 문자열 순서대로 넣으며 그 위 몇개만 읽어서 폭발 단어랑 일치하는지 확인하는 방식으로 해결했다

4달전보다 속도가 절반 줄었다

그땐 del말고 pop여러번으로 해서 더 걸린듯?


리스트[시작점:끝점:간격]

리스트 슬라이싱도 다시 정리했다

문자열 몇개만 꺼내서 쓸려고 result[-1 : -3] 이런식으로 했다가 작동안해서 result[-3 :] 이런식으로 처리했는데 첫번째 처럼 할거면 result[-1 : -3: -1] 이런식으로 간격을 음수에 줘야 한다는 등 말이다

무조건 왼쪽에서 오른쪽으로 슬라이싱 하니 이를 해결하기 위해 간격에 음수 주기

근데 이리하면 다시 뒤집거나 해야해서 걍 result[-3 :] 같은게 나은거 같다


그 다음에 푼건 분해합 문제인데 처음에 자릿수 별로 for문 같은 거 하려다가 걍 브루트 포스로 풀었다

자릿수별 for문 돌리기에는 자릿수가 너무많음;;

중요하게 기억 해야했던건 최소값이기에 찾자마자 break로 탈출해야했다는거다

아니면 끝까지 돌아서 더 큰값 나올수도 있다

관련


세 번째로 푼건 블랙잭 문제인데 말이 블랙잭이지 걍 주어진 숫자 중 3개로 정해진 값 비슷하게 만드는거다 (단, 그 값보단 작아야함)

브루트포스로 금방 풂 ㅇㅇ;;


문제 풀이키워드
문자열 폭발 스택을 통한 탐색
분해합 브루트포스
블랙잭 브루트포스