소개
게시글
스터디
모집완료
[Android] [Kotlin] 프론트엔드 앱개발 강남/온라인 취업 스터디
- 0
- 0
- 300
스터디
모집완료
[Android] [Kotlin] 프론트엔드 앱개발 강남역 취업 스터디
- 0
- 0
- 354
질문&답변
리뷰 부탁드립니다!
숫자를 비교해서 해결할 수 있는 문제를 굳이 문자열로 변환한 다음 인덱스 값에 접근해 가면서까지 하면 비효율적이지 않을까요?저도 강사님과 같은 개념으로 접근했는데 질문자님처럼 filter를 사용해서 코드가 깔끔하게 나왔습니다function solution(date, ...numbers) { return [...numbers].filter((a) => a % 10 === date).length; }
- 0
- 1
- 441
질문&답변
아나그램 문제의 전제조건이 있나요??
지나가다 답변합니다아나그램 문제 보시면, "길이가 같은 두 개의 단어가 주어지면 두 단어가 아나그램인지 판별하는 프로그램을 작성하세요."라고 하니까 길이가 같다는 전제 조건이 있는 게 맞습니다만약 그 전제 조건이 없다면, 솔루션 함수 맨 앞에 if(str1.length!==str2.length) return "NO"; 한 줄만 추가해 주면 되겠네요
- 0
- 1
- 314
질문&답변
const가 이런 경우에는 왜 오류가 안나는거죠 ?
지나가다 답변합니다scope(유효범위)가 달라서 그렇습니다. 혹시라도 scope 개념을 모르시면 따로 찾아서 공부하시는 거 추천합니다함수 안은 지역 스코프이고 그 밖은 전역 스코프인데, 작성자님은 str 상수를 전역에서 선언하고 값을 할당했습니다그리고 그 값은 변한 적이 없습니다solution(str)이 실행한 것은 str 상수의 값인 "gooG"를 (str 상수 그 자체가 아님 주의) 솔루션 함수에 인자로 전달하고 그 값을 반환한 것뿐입니다이때 사용된 건 s로 참조된 지역 스코프의 변수이지, 전역 스코프의 str 상수가 아닌 것입니다따라서 위 코드에서 막줄에 console.log(str)을 해보시면, "gg"가 아니라 "gooG"가 출력됨을 볼 수 있습니다또한 console.log(s)를 해보시면 s가 정의되지 않았다고 오류 메시지가 출력되는데, 왜냐하면 s는 솔루션 함수 스코프 안에서만 정의되었으므로 그 스코프 내에서만 접근할 수 있기 때문입니다
- 0
- 1
- 557
질문&답변
혹시 반례가 있을까요??
지나가다 답변합니다세 카드의 합 중에서 K번째 큰 수를 구하는데, 개별 카드를 큰 순서로 정렬해서 가장 큰 두 수를 먼저 합산하고 세 번째를 더하는 방법은 옳을 수가 없습니다작성자님 솔루션에 따르면 반환값에 항상 카드패에서 가장 큰 두 수가 포함되는데, 만약 합산값 중에 가장 작은 값을 구한다면, 가장 큰 두 수가 포함되어서는 당연히 안 되겠죠?또 다른 직관적인 문제는 작성자님 솔루션에서는 k 인자로서 k+1그렇지 않으면 반환식의 card[k+1]이 undefined가 돼버리기 때문이죠하지만 합산값들의 길이는 원래 배열보다 훨씬 길 수밖에 없으므로, k
- 0
- 1
- 310