본문 바로가기

전체 글178

여러가지 Tips 그라데이션 텍스트 만들기 배경에 linear-gradient로 그라데이션을 주고 webkit을 사용해 글자를 파낸다. background: linear-gradient(90deg, #6f019c 0%, #c6017e 135.12%); -webkit-background-clip: -webkit-text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; 배경이미지 설정 background-image: url(http://...); background-size: cover; background-repeat: no-repeat; background-position: center; /* 단축버전 */ background: #000 url(.. 2023. 7. 3.
쿠키 세션 토큰 JWT 쿠키 그냥 옮기는 매개체 쿠키를 이용해서 서버는 브라우저에 데이터를 저장(너에 관한것을 기억하기 위해서) 브라우저에 쿠키를 저장한 후, 요청을 보낼 때 마다 쿠키도 같이 보냄 쿠키 특징 쿠키는 도메인에 따라 제한이 됨 (예를 들면, 유튜브가 준 쿠키는 유튜브에만 보내지게 됨) 유효기간이 있음 (서버가 정한 기간에 따라 유효함) 인증뿐만 아니라 여러 정보를 저장할 수 있다 (예를 들어 웹사이트 언어설정을 바꾸면 서버는 쿠키에 언어설정을 저장하고, 나중에 요청을 보낼때 쿠키안의 언어로 응답을 받게 됨) 💡 http 프로토콜은 stateless이기 때문에 서버는 누가 요청을 보내는건지 모른다 ⇒ 요청할 때 마다 우리가 누구인지 알려줘야함 ⇒ 그 방법들이 바로 세션, 토큰 세션 영화표 반쪽은 브라우저에, 반쪽은.. 2023. 6. 30.
[프로그래머스] 짝지어 제거하기 (stack) https://school.programmers.co.kr/learn/courses/30/lessons/12973 첫번째 처음에 for 돌려서 str[i] , str[i+1] 같은게 나오면 splice한뒤 다시 첨부터 확인하는 방법을 생각했다 splice가 리턴하는건 잘라진 부분, splice는 원래를 바꿈 splice(시작 인덱스, 삭제 개수) 답은 다 맞았는데 n^2 여서 시간초과 생각해보니 내가 꼬아서 생각하고 있었다....=_= function solution(s) { const arrS = [...s]; while(arrS.length > 0) { let hasPair = false; for (let i = 0; i < arrS.length-1; i++) { // n // 짝이 있다 if (ar.. 2023. 6. 8.
[프로그래머스] 다음 큰 숫자 https://school.programmers.co.kr/learn/courses/30/lessons/12911 1씩 더해서 1의 갯수가 같을때 리턴 function getOneCount (n) { return [...n].filter(e => e === '1').length; } function solution(n) { var answer = 0; let newNum = n; const originalOneCount = getOneCount(n.toString(2)); while(true) { newNum++; if (getOneCount(newNum.toString(2)) === originalOneCount) { return newNum; } } return answer; } 배열 안에서 1의 갯.. 2023. 6. 8.
[프로그래머스] 기사단원의 무기 https://school.programmers.co.kr/learn/courses/30/lessons/136798 첫번째 => 시간초과 function getDivisionsLength(n) { return new Array(n).fill(0).map((e, index) => index+1).filter(e => n%e === 0).length; } function solution(number, limit, power) { var answer = 0; const divisions = []; // 약수들 구하기 for (let i = 1; i { return acc + ((curr > limit) ? power : curr); }, 0); return answer; } 약수 구할때 n/2초과는 확인할 필.. 2023. 6. 7.
[프로그래머스/카블] 1차 다트게임 *가 첫번째인지, 옵션의 중첩을 고려해야함 => 따로 옵션 배열을 만들자 dartResult를 loop돌면서 각각 num, bonus, option 배열에 분리하여 넣어준다 이때 숫자10 고려: 앞의 수가 1이고 현재가 0이면 1,0을 10으로 간주 옵션이 없는경우 다른 배열과 index를 맞추기위해: bonus를 넣고난뒤 다음char이 숫자이거나 배열을 넘어가서 undefined이면 null을 넣어준다 이제 num[i], bonus[i], option[i] 인덱스별로 계산을 해준다. Math.pow(숫자, 보너스) * 옵션 옵션이 #이면 -1을 곱해준다 옵션이 *이면 현재 값을 *2 해주고, 전의 값이 존재하면 *2 해준다. 마지막에 [단위 결과, 단위 결과, ....].reduce로 합해준다 첫번째 .. 2023. 6. 6.