일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- git 버전관리
- html 끝
- 단계별로 풀어보기
- git
- 나도코딩
- 백준
- error: ENOENT: no such file or directory
- 코딩테스트
- :root
- HTML
- Pull
- nav태그
- 생활코딩 WEB2-JavaScript
- margin 0 auto
- box-sizing: border-box
- 노마드 코더
- 백준 자바스크립트
- 할만한데?
- 나도코딩 파이썬
- max-width
- calc()
- li 태그
- border radius
- button:focus cursor: pointer; outline: none;
- 크롬웹
- 생활코딩
- 드림코딩
- WEB2-JavaScript
- 라매개발자
- 백준 정리
- Today
- Total
코딩응애의 개발블로그
코플릿 문제 풀면서 알게된 것들 - 배열안에 특정 값 제거 본문
removeExtremes
이 문제 푸는데 시간이 너무 오래걸림 내가 내 방식대로 풀 수 있을것 같은데 라는 생각으로 레퍼런스대로 안풀어서 더 걸리긴 했지만 결국 초기값은 그냥 레퍼런스에 나온대로 설정하고 해서 풀음 짜증남.. 우선 정답 코드 부터 보자면
function removeExtremes(arr) {
// TODO: 여기에 코드를 작성합니다.
let long = 0;
let short = 20;
let delLong;
let delShort;
for (let i = 0; i < arr.length; i++) {
if (long <= arr[i].length) {
long = arr[i].length;
delLong = arr[i]
}
if (short >= arr[i].length) {
short = arr[i].length;
delShort = arr[i]
}
}
delLong = arr.indexOf(delLong)
arr.splice(delLong, 1)
delShort = arr.indexOf(delShort)
arr.splice(delShort, 1)
return arr;
}
원래는 변수 long, short에 arr[0]으로 초기값을 주고 했는데 도저히 하나가 통과가 안돼서 그냥 저렇게 초기값을 주었다
그러니 바로 됨 ㅋㅋ
처음에는 배열안에 특정 값을 제거하는 법을 몰라서 검색을 해봤더니 indexOf() 와 splice()를 이용하라고 해서
그 방법대로 함 간단히 설명하자면 indexOf()로 특정 값의 위치를 찾고 splice()로 그 값을 제거를 해주는 방법이다.
위에 코드대로 해야 하는데
delLong = arr.indexOf(delLong)
delShort = arr.indexOf(delShort)
arr.splice(delLong, 1)
arr.splice(delShort, 1)
이런식으로 하니 위에서 splice로 제거를 하고 그다음 또 제거를 할려고 할때 arr 값 자체가 변경이 되서 원래 위치에 값이 사라져서
답이 제대로 나오지를 않았다 예를들어서 arr이 ['iAmLongest', 'iAmNotShortest', 'iAmLongest', 'long'] 이고
delLong이 2 delShort 3 이 나오고 delLong 부분을 splice 해주면 arr은 ['iAmLongest', 'iAmLongest', 'long'] 이렇게 돼서
delShort를 삭제하려고 splice(3,1)을 할려고 해도 arr은 2까지 밖에 없어서 삭제가 안돼서 원하는 값이 안나오는것임
음 이문제 풀면서 그냥 초깃값은 조건에 나온걸 써야 겠다는 생각이 들었고 살짝 잊고 있었던 메소드들도 다시 돌아보는 시간이었다.
'코드스테이츠(부트캠프)' 카테고리의 다른 글
코플릿 문제 풀면서 알게된 것들 - 바빌로니아 법 (제곱근) (0) | 2022.08.13 |
---|---|
코드스테이츠 블로깅 - (REST API) + 생활코딩 (REST API) (0) | 2022.08.05 |
코플릿 문제 풀면서 알게된 것들 - replace() (0) | 2022.08.01 |
코드스테이츠 블로깅(프로토타입 체인) (0) | 2022.07.25 |
코드스테이츠 블로깅 (클래스와 인스턴스 , 객체지향 프로그래밍, 프로토타입과 클래스) (0) | 2022.07.22 |