본문 바로가기

자기개발49

두개의 배열로 filter 사용하기 프로그래머스에서 2개의 배열을 주는데 배열a에 있는 숫자가 배열b에 있으면 제거하고 남은 배열 a를 반환하는 거였다. 그래서 나는 filter를 사용하기로 생각했고 내가 생각보다 filter에 대한 활용도가 떨어지는 것을 확인할 수 있었다. a배열에 b의 값과 같은 것을 빼고 반환하는 거였다. 호기롭게 그렇다면 a배열에 b의 값과 같은 것을 먼저 반환하고 !만 붙여서 코드를 제출하면 되겠지라고 생각했고 코드를 작성했다. var answer = arr.filter(a=> arr[a]==delete_list[a]); 이렇게 작성했더니 실행한 결괏값 [293,1000,395,678,94]이 기댓값 [293,395,678]과 다릅니다. 를 받을 수 있었다. 즉 배열 a 만 받아냈다는 소리였다. a를 정의하는게 .. 2023. 8. 1.
js 5명씩 프로그래머스에서 요즘은 생각보다 빠르게 통과를 하고 있다. 매우 고무적이라고 생각한다. names라는 이름을 담은 배열을 주고 result로 0번째와 5번째 10번째 이순서의 이름을 담은 배열을 반환하라는 문제였다. 나는 곧장 map을 사용하는 것을 사용했고, 0번째, 5번째 10번쨰 이걸 어떻게 할까 생각하다가 i==0이거나 i%5==0을 생각했다. 그래서 map에서 쓰기 편하게 삼항연산자를 쓰기로 했고, answer =[]로 빈 배열을 생성했으니 map에서는 push를 써서 answer에 넣는게 간편하겠다고 생각했다. 그래서 아래와 같이 names.map((a,i)=>i==0||i%5==0 ? answer.push(names[i])) 를 만들었다. 삼항 연산자 인데 삼항연산자 마무리를 하지 못해서 에.. 2023. 7. 31.
홀짝에 따라 다른 값 반환하기 js 프로그래머스의 문제를 해석하는데 조금 시간이 걸렸다. n이 홀수이면 그냥 n까지의 숫자를 모두 더하고 n이 짝수이면 n까지의 숫자를 모두 제곱해서 더하는 건줄 알았다. 그래서 쉽게하기 위해 if문을 사용해서 n이 양의 정수이면 array.from({length:n})울 사용해 배열을 만들고, reduce를 이용해 배열안의 모든 수를 더하고자 했다. 그런데 로직을 짜고 코드를 만들었는데 n이하의 홀수인 모든 양의 정수의 합을 구해야 하는 거였다. 홀수면 배열에서 홀수의 값만, 짝수면 배열에서 짝수의 값을 제곱해서 만들어야 했다. 그래서 다시 로직을 짜야 했다. array.from을 사용해서 배열을 만들고reduce를 사용하는 것은 같았으나 reduce에서 조건을 달아서 더하는 걸로 바꿨다 array.fro.. 2023. 7. 28.
js 문자열 바꿔서 찾 프로그래머스에서 A,B로 이뤄진 문자열 myString과 pat을 주고 myString의 A=>B,B=>A로 문자열을 바꿔서 그 바꾼 문자열에서 pat이 있어면 1 없으면 0을 반환하는 문제였다. 전에 비슷한 문제를 풀어본 것 같아 그때와 비슷하게 코드를 작성했다. 문자열을 바꿔주기 위해 매치를 하는 객체를 선언하고 문자열을 바꿔준 값ㅇ르 저장하기위한 객체도 만들어서 거기에 문자열을 바꾸는 작업을 했다. 그릭고 answer에서 바꾼 문자열이 pat 문자열을 포함하는지 안하는지 혹인후 1과 0을 반환하는 코드를 만들었다. 여기서 또 저번처럼 match[a]부분이 잘 안됐다. map((a)=>a===match(a))를 해서 match가 함수가 아니라는 에러메시지를 받았고 match[a]로 바꿔도 0으로만 반.. 2023. 7. 27.