분류 전체보기

https://school.programmers.co.kr/learn/courses/30/lessons/12924 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 나의 풀이 function solution(n) { let count = 0 for(k=1; k
https://school.programmers.co.kr/learn/courses/30/lessons/12911 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 나의 풀이 function solution(n) { const count = (num) => num.toString(2).match(/1/g).length; for(i=(n+1); i< 1_000_000; i++) if(count(n) == count(i)) return i } 마침 바로 이전 문제에서 다른 분이 match를 활용한 것을 보고 아 여기다 사용하면 제격이겠다 해서 사용했다. 다른 사..
https://school.programmers.co.kr/learn/courses/30/lessons/12909# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 나의 풀이 function solution(s){ let sum = 0; for(i=0; i 1 ) -> -1 로 replace했는데 괜한짓인 것 같다. 좀 이상하다 효율성 테스트 아래와 같이 괜찮은 데 뭐 엔터를 치거나 당연한 if문을 넣거나 등등에서 같은 코드라도 시간초과가 뜰때가 있다.
https://school.programmers.co.kr/learn/courses/30/lessons/12941 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 나의 풀이 function solution(A,B){ A.sort((a,b) => a -b) B.sort((a,b) => b -a) let sum = 0 for(i=0; i
https://school.programmers.co.kr/learn/courses/30/lessons/70129 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 나의 풀이 function solution(s) { let box = [0,0] while(s.length > 1){ let reamain = s.replace(/0/g,"").length box[0] += 1 box[1] += (s.length - reamain) s = reamain.toString(2) } return box; } 1. while에서 헷갈렸다. ( ) 안이 참이 되어야 안에있..
https://school.programmers.co.kr/learn/courses/30/lessons/12939 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 나의 풀이 그냥 보자마자 reduce가 생각이 났다. 하지만 다른 사람 풀이 보니까 아 이렇게 하면 더 쉬운데... 라는 생각이 들었다. 하지만 뭐 나한테는 이게 쉬웠고 바로생각나서 이렇게 했다. function solution(s) { return s.split(" ").reduce((acc,cur) =>{ acc[1] = acc[1] ?(+cur > acc[1] ? +cur : acc[1]) ..
call signatures call signatures는 우리가 작성한 함수에 마우스를 올려놓으면 나오는 것을 말한다. 이것은 우리가 함수를 어떻게 호출해야하는 지 알려준다. 즉 인자의 타입이랑 return의 타입을 알려주는 것이다. 자 그럼 우리만의 call signature를 어떻게 선언할 것인지 알아보자. type Add = (a:number, b:number) => number const add:Add = (a,b) => a+b 이렇게 해놓으면 우리가 처음 함수를 만들 때 처럼 일일히 type을 지정해줄 필요가 없다. 이런식으로 type Add만 만들고 함수 옆에 적어준뒤 마우스를 올리면 어떤 type인지 다 알려준다. overloading Function(=Method) Overloading은..
1) unknown TypeScript 3.0에서 unknown 타입이 도입이 되었다. unknown 타입은 단어의 뜻과 동일하게 '알 수 없다, 모른다'라는 의미를 가진다. unknown 타입은 any 타입과 동일하게 모든 값을 허용하지만, 할당된 값이 어떤 타입인지 모르기 때문에 함부로 프로퍼티나 연산을 할 수 없다. unknown 타입은 any와 마찬가지로 모든 타입의 값이 할당될 수 있다. let variable: unknown variable = true // OK (boolean) variable = 1 // OK (number) variable = 'string' // OK (string) variable = {} // OK (object) 하지만 조금 다른 것은 unknown 타입으로 선언..
1) readonly readonly는 말 그대로 읽기만 가능하게 해준다. readonly 속성을 타입에 추가할 수 있다. 우리가 name을 수정하려고 한다면 Typescript가 그것을 막을 것이다. 왜냐하면 typescript에게 이 속성은 readonly라고 말했기 때문이다. 이런식으로 새로운 name을 할당 할 수 없다고 알려준다. 이렇게 배열을 만들었을때 원본 배열을 변환시키는 push, unshift 등등의 함수는 사용할 수 없다 원본 배열을 바꾸지 않은 함수만 사용가능하다. 자바스크립트는 이런 readonly같은 기능이 없다. 2) tuple tuple은 JS에서는 지원하지 않는 데이터 타입이지만, TS에서는 배열 타입을 보다 특수한 형태로 사용할 수 있도록 지원하는 기능이다. tuple에 ..
개발자성장기
'분류 전체보기' 카테고리의 글 목록 (21 Page)