<알고리즘> 문자열 바꿔서 찾기

전은찬·2023년 7월 6일
0
post-thumbnail

보통 특정 문자를 바꾸고자 할 때 replace()나 replaceAll()메서드를 사용하여 값을 치환한다.
그러나 이 문제에서는 'A'는 'B'로 'B'는 'A'로 바꿔주어야하기 때문에 replace 메서드로는 해결이 불가능하다.
왜냐하면 replace로 'A'를 'B'로 바꿔주면 전부 'B'로 바뀌고 그 다음에 'B'를 'A'로 변경했을 경우 'AAAAA'가 되기 때문이다.

따라서 특정 요소를 일일이 돌면서 변경해주어야하기 때문에 map()을 사용하였다.

나의 풀이는 이렇다.

map()은 배열을 순회하기 때문에 myString을 우선 split('')을 사용하여 하나하나의 원소로 쪼개진 배열을 만들어준다.
그 다음 map으로 배열을 돌면서 그 배열의 값이 'A'라면 'B'로 변경해주고, 값이 'A'가 아니라면 'A'로 변경하겠다는 코드이다.

여기까지 실행하면 [ 'B', 'A', 'A', 'B', 'B' ]라는 배열로 바뀌게 되지만 우리가 원하는 리턴값은 pat이라는 문자열이 포함되어 있는가 아닌가이기 때문에 join('') 메서드를 사용하여 다시 문자열로 바꿔주고! pat이 포함되어있는지 includes() 메서드를 사용하였다. true라면 1을, false라면 0을 리턴하여 정답까지 이르렀다.

profile
A piece of cake

0개의 댓글