7/16 19~22번 문제풀이

강인호·2022년 7월 19일
0

알고리즘 문제풀이

목록 보기
7/39

머리아프다

19번 문제

strings의 i 번째의 n번 인덱스끼리 모아서 sort정렬을 해보는 식으로 했는데 아무리 생각해봐도 추출한 인덱스가 같을 때 사전순으로 정렬하는걸 어떻게 해야할지 계속 고민하다가 이문제는 다른 사람의 풀이를 봤는데 정말 신박하고 좋은 방법이 있어서 그 방식으로 짜보았다.

추출을 할때 해당 알파벳만 추출 하는게 아니라 해당 알파벳+기존단어

를 추출한 뒤 정렬해서 다시 알파벳을 replace로 지워주는 방식으로 짰다.

최종 코드는

20번 문제

문자열 내림차순 공식이 있길래 그냥 가져와서 적용했다. 원리는 쪼갠 뒤 sort정렬 후 reverse로 뒤집고 join으로 합친다.

21번 문제

처음 접근은 for문을 세번 써서 앞의 문제처럼 3개의 합의 경우의수를 구하고 구한 값을 소수로 판별해서 소수가 맞으면 수를 1씩 올리는 식으로 접근을 했는데

처음에 i=0 j = i+1 k = j+1 이런식으로 3중for문을 돌렸는데 damp 무슨over 뜨면서 구동이 되지않아서 다른 3중포문 유형을 검색해서 len으로 정의해놓고 len에서 -1 -2 를 하는식으로 돌렸다. 돌려서 나온 3개의 값을 더해서 소수판별 함수에 넣어서 true면 answer의 값을 1씩 올리는 식으로 짰다. 소수판별 함수도 검색해서 나온함수를 가져다가 썼다.

최종코드는

const부터는 가져온 함수이다.

22번 문제

문자열을 받아서 일정한 글자를 일정한 숫자로 치환하는 문제라 생각해서 replace함수를 사용하는쪽으로 접근을 해보았고 정규표현식이라고 문자열의 모든 a를 b로 바꾸는 그런 식이 있다고 해서 가져와서 적용했다.

좀 더 줄일수 있는지는 모르겠지만 나는 처음 받은 문자열을 0부터 9까지 정규표현식 10줄을 거쳐서 나온 값을 parseInt 함수로 정수형으로 바꾸는 식으로 짰다.

최종 코드는

0개의 댓글