코딩테스트

코딩테스트 풀이 - 암호 해독

히새 2023. 11. 3. 14:32

 

와.. 너무 어려운데!?

문자열 cipher 에서 code 의 배수번째 문자열만 뽑아야한다.. !

code 의 배수번째를 어떻게 구해야할까?

 

문자열의 길이 / code 를 1로 나눈 나머지 값이 0일 때 = 정수일 때, 그 문자열을 골라준다. 로 작성하면 되려나?

잉? 그럼 반복문을 돌리는 이유가 뭐야 ..

 

 

이렇게 작성해보았는데 이렇게 되면 length 는 항상 0이 될텐데...

내가 작성하고 싶었던 것은 str 의 번째수 나누기 code 였다.! 그래서 배열은 0번째부터 시작이니까 +1을 해주었던 것이다.

indexOf() 를 사용하면 몇 번째인지 알 수 있다.

 

 

왜 땜운에.. .에러? 아 몇 번째 찾아줄 배열 작성을 안해줬네 ㅎㅎㅎㅎ

 

 

배열이름을 앞에 넣어줬는데 또 에러가 났다.

하지만 희망이 보이는 것은 값들 중 일부는 출력이 되었다는 사실 !!!!

 

음.... 

 

console.log 로 arr.indexOf(str)+1 의 값을 출력해보았다.

 

내가 예상한 값은 이제 테스트 1번에서는 4, 8, 12, 16, 20, 24 가 쭈루룩 나오는 것이었는데 왜이렇게 중구난방으로 나온걸까? attack 결괏값을 보니 정상작동해서 atta 이 나온게 아니라 그냥 얻어걸렸구만... 

 

 

indexOf() 를 사용해 번째수를 안구하고 for 문을 돌려 바로 i 를 사용하면 더 좋겠다는 생각으로 for 문을 작성해주었다.

그리고 한가지 한 실수는 1로 나눈 나머지 값이 아니라 code 번째 수로 나눈 값이 정수면 그 번째수 문자를 출력해줘야 한다는 점이었다. !!

그리고 문자열을 배열로 바꾸어주었기 때문에 answer 을 출력할 때 바로 문자열로 바꾸어주면서 성공 !!!