Dorito
Dorito's Dev

전체 글

Git Strategy: usually i checkout a new branch, make changes, then delete main then rename my branch to main.
알고리즘/리트코드

[리트코드 Medium] 1680. Concatenation of Consecutive Binary Numbers JavaScript 풀이

새로 배운 것: 2진법 변환은 생각보다 까다롭다 (숫자 메모리 저장 방식) 처음에는 1~n까지 숫자 만들어서 각 요소마다 2진법으로 바꾸고 조인 시키면 안되나 라고 생각했는데 안된다. 값이 작으면 답대로 나오는데 한 n = 20부터 값이 이상하게 나오고 n 엣지포인트 찍으면 NaN 뜸) JavaScript data types and data structures - JavaScript | MDN (mozilla.org) 문서를 보면 Number According to the ECMAScript standard, there is only one number type: the double-precision 64-bit binary format IEEE 754 value 64비트까지 수 표현이 가능하다고 한다...

궁금증 해결/개념

신기한 자스... 까이는 이유들 (적당한 훈계가 인간에겐 필요해)

예를 들어 이런 삼위일체 밈이나 0 - true // -1 반환 이런식의 자료형 없다 외 에도 좀 덜 빡빡해서 까인다 자바 잠깐 해봤었을 때 정말 신기했던게 인덱스 관련 처리로 에러 띄우는거 막 HashMap 이런데서 값 없는거 찾으면 자스는 헝ㅋ undefined잔냐 ^^ false 처리혀~ ^^ 이캐 해주는데 자바에선 얌마!!!! NULLpointerException!!!!! 이런느낌이라서 신기했었다. ㅡ 너무 신기해서 포스팅하게 된 것 map 함수 안에 parseInt 이렇게 쓰면 결과 값 터짐 요런 식으로 에러 뜸 이런게 왜 문제가 되냐면 안에 쓰이는 콜백함수가 메서드 하나로 정의 될 경우 함수만 적을 수 있는데 만약 parseInt 를 넣을 경우 오류가 뜸 Array.prototype.map()..

알고리즘/프로그래머스

[프로그래머스 Lv 2] 카펫 JavaScript 풀이

코딩테스트 연습 - 카펫 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr - 로직 설명 1. yellow 의 약수들을 구해준다. 이때 효율적인 연산을 위해서 yellow 의 제곱근의 정수까지만 구해준다. (1~ yellow 끝까지 순회할 필요없다) → 추가적으로 설명하자면, 약수가 n * m 인 형태임을 기억하자. 약분을 구하기 위해서 n * m 을 진행할수록 n은 커지고, m 값은 작아짐 예를 들어 설명해보자면 24의 약수를 구할 경우 4² < 24 < 5² 이다. x * x 제곱근 (x = 4) ..

알고리즘/프로그래머스

[프로그래머스 Lv 2] JadenCase 문자열 만들기 JavaScript 풀이

8번 테케 에러 해결: 마지막 문자에 공백이 있는 경우 오류 떠서 if문으로 처리해줌 split 연산자 String.prototype.split() - JavaScript | MDN (mozilla.org) 메서드 특징 이용해서 풀이 Splitting with a RegExp to include parts of the separator in the result If separator is a regular expression that contains capturing parentheses ( ), matched results are included in the array. const myString = "Hello 1 word. Sentence number 2."; const splits = myStri..

알고리즘/프로그래머스

[프로그래머스 Lv 2] 기능개발 JavaScript 풀이 + 리팩토링 시도..

코딩테스트 연습 - 기능개발 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 1 로직 굉장히 이상한 것 같은데 어쨌든 테케 다 통과하긴 함 내가 생각한 로직 1. 필요한 일수를 구한다. 2. 큰수1 ____ 큰수2 ____ 이렇게 나눠서 보면 됨 개인적으로 보는 지금 코드 문제점 (이따가 더 생각해보거나 다른 사람 솔루션 보기) 1. mutable 하다 (count, stack, maxValue) → 관련 mutable한 코드는 왜 바람직하지 못한 코드인가 (tistory.com) 보면 좋음 2..

궁금증 해결

mutable한 코드는 왜 바람직하지 못한 코드인가

- 의문점 알고리즘 문제 풀 때 let 이렇게 변수 많이 쓰고 막 변형시키면 내 코드가 mutable 하다고 까일 때 많은데 (이유 물어보면 뭐 디버깅 힘들다 등) 저게 어디서 나온 개념인지 궁금 그냥 실전에서 나온 얘기인지 항상 궁금했음 답변 immutability - What's wrong with mutability and can it be desirable? - Software Engineering Stack Exchange What's wrong with mutability and can it be desirable? Possible Duplicate: At what point do immutable classes become a burden? This is something I never un..

알고리즘/SQL-1

180. Consecutive Numbers

링크: 180. Consecutive Numbers 난이도: Medium 문제 Table: Logs +-------------+---------+ | Column Name | Type | +-------------+---------+ | id | int | | num | varchar | +-------------+---------+ id is the primary key for this table. id is an autoincrement column. Write an SQL query to find all numbers that appear at least three times consecutively. Return the result table in any order. The query result..

알고리즘/프로그래머스

[프로그래머스 Lv2] 롤케이크 자르기 JavaScript 풀이

코딩테스트 연습 - 롤케이크 자르기 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 첫번째 시도 순차적으로 slice 해서 두 배열을 각자 HashSet로 만든 다음에 개수 비교하는 로직 사용 → 시간 초과 시간 초과 이유: topping의 길이가 최대 1,000,000 이기 때문이다. for 문으로 토핑 배열 전체를 순회하면서 slice, set 으로 중복 걸러내면 시간 복잡도 O(n²)임 두번째 시도: 로직 순서 1. olderBrother → 이름을 가진 Map 객체에 key: 토핑 종류 val..

백엔드/🐈️ Nest.js

[NestJs] Competing naming styles: mySQL snake 스타일을 typeORM 엔티티에서 Camel case로 매핑하기

해결하고 싶은 것: Entity 설정 문제 ~ mySQL DB에서는 snake 형식인데 TypeOrm에서 코드를 쓸때는 camel case 형식으로 맞춰서 적어야함. 거슬린다 문제 해결: https://stackoverflow.com/questions/55248938/typeorm-and-postgres-competing-naming-styles 방법 1: 데코레이터에 name 옵션 사용하기 설정해야할 Column이 적은 경우에는 괜찮은데 많을 경우 일일이 적어주기 귀찮음 방법 2: 라이브러리 사용 typeorm-naming-strategies typeorm-naming-strategies - npm (npmjs.com) 문서 참고하기 typeorm-naming-strategies Custom namin..

카테고리 없음

7계층 프로토콜 HTTP 공부

HTTP 프로토콜 참고자료 https://moon-seung-chan.tistory.com/5 https://developer.mozilla.org/en-US/docs/Web/HTTP/Overview https://novlog.tistory.com/245 HTTP: HTML, JS, CSS 파일 웹서버에게 요청하고 받아오는 프로토콜 HTML + CSS + JavaScript 리소스 1 .미디어 타입: MIME HTTP는 수천 개의 데이터 타입을 다루기 때문에 ‘MIME (Multipurpose Internet Mail Extensions, 다목적 인터넷 메일확장)‘ 라는 데이터 포맷 라벨을 웹에서 전송되는 객체 각각에 붙인다. 쉽게 말하면, 웹 콘텐츠가 어떤 데이터 타입인지 알려주는 라벨 표현 형식: ‘..