분류 전체보기
![async vs defer (외부 스크립트 파일 불러오기)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FGRO6Y%2FbtqLwMiUeOQ%2FRYWGsMGmyPG07Ch46qyIKK%2Fimg.png)
async vs defer (외부 스크립트 파일 불러오기)
📔 외부 스크립트 불러오기 html에 js파일을 불러오는 방법은 아래와 같이 세가지 입니다. 이렇게 기본으로 불러오는 것은 js의 로딩이 끝날 때까지 아무것도 하지 못하게 됩니다. async의 옵션을 주게 되면 js의 로딩에 들어가더라도 html문서의 렌더링을 막지 않습니다. 하지만 만약 js파일이 여러개라면 순서에 상관없이 먼저 다운로드 되는 js파일이 먼저 실행됩니다. (순서X) defer의 옵션을 주게 되면 async와 같이 js의 로딩에서 html의 렌더링을 막지 않습니다. 하지만 모든 js 파일을 다운로드 받아도 바로 로딩되지 않고 html의 렌더링이 끝난 후 순차적으로 로딩이 됩니다. defer를 쓰면 화면에 자바스크립트 실행되기 전에 페이지가 출력되는 점에 유의해야 하고, async를 쓰면 ..
![[python] 프로그래머스 - 3진법 뒤집기 (월간 코드 챌린지 시즌1)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fyygwy%2FbtqLuBITKx3%2FHpA4XCAt3f1KTcXEyXuSJK%2Fimg.png)
[python] 프로그래머스 - 3진법 뒤집기 (월간 코드 챌린지 시즌1)
🤔문제 해결 3진법으로 만든다. 뒤집지마라 stack구조로 문자열을 쌓으면 저절로 뒤집은 형태가 나온다. 10진법으로 바꿔준다. 문자열은 앞에서부터, 3의 n승은 뒤에서부터 만들어준다. 💨 실제 대회시간 때 급하게 풀다가 n 이 3보다 작을 때 처리를 안해줘서 한두문제 틀리고 넘어갔다. ( 시간 깜빡하다가 늦게 입장 함😂 ) 💻소스 코드 def solution(n): answer = 0 # 3진법 mok = 0 nmg = 0 number = '' while True: mok = n // 3 nmg = n % 3 number += str(nmg) if mok < 3: number += str(mok) break n = mok print(number) # 10진법으로 바꾸기 leng = len(number)..
![[javascript] 프로그래머스 - 네트워크](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FUQd3G%2FbtqLephh1QQ%2FKE5ZL1GZZVVTYZAXVpF9M1%2Fimg.png)
[javascript] 프로그래머스 - 네트워크
🤔문제 해결 Lv3 | DFS 몇개의 싸이클이 있는 지 찾아야 한다. DFS(BFS)를 이용해도 무방하다. 전체 네트워크 중 하나를 차례로 선택한다. DFS로 visited를 체크하며 돌린다. DFS가 끝나면 그게 한 싸이클이 된다. (네트워크의 수) 아직 방문하지 않은 나머지 네트워크를 하나씩 차례로 선택하면서 위의 과정을 반복한다. 💻소스 코드 function solution(n, computers) { var answer = 0; let visited = Array(n).fill(0) let stack = [] for (let i = 0; i 0)..
![SQL VS No SQL](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F921MJ%2FbtqLEj7TE6D%2FCrNL5kzxz2tU9l1o7Z4oo0%2Fimg.png)
SQL VS No SQL
📔SQL SQL은 관계형 데이터베이스에서 (RDBMS)에서 데이이터를 저장, 수정, 삭제 및 검색할 수 있는 언어입니다. 제목의 문제는 사실 Relational database 와 Non Relational database 의 차이를 말하는것입니다. 📔Relational database 관계형데이터베이스는 정해진 스키마에 따라 데이터를 정하는 엄격한 구조입니다. 이러한 스키마를 준수하지 않으면 레코드는 테이블에 추가될 수 없습니다. 또한 중복을 피하기 위해 데이터를 여러 테이블에 분산하고 관계를 통해 테이블을 연결합니다. 📗장점 정해진 스키마를 따라야하기 때문에 명확한 데이터 구조를 보장합니다. 또한 중복을 피해 메모리를 절약할 수 있습니다. 📕단점 시스템이 복잡할수록 쿼리문이 복잡해지고 그만큼 성능도 ..
![[javascript] 프로그래머스 - 단어 변환](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdDa9Qi%2FbtqLhQk6fkK%2FVikx7jcrIwt62AbKu94ck0%2Fimg.png)
[javascript] 프로그래머스 - 단어 변환
🤔문제 해결 Lv3 | BFS begin 에서 시작하여 BFS 탐색 BFS는 target과의 거리를 알 수 있으므로 target과의 최단거리를 구해서 답을 출력 아래의 코드에서는 visited와 words_obj를 사용했지만 잘 짜보면 words_obj 하나로 충분히 구현할 수 있다! 💻소스 코드 function solution(begin, target, words) { var answer = 0; // 타겟이 워드에 없는 경우 if (!words.includes(target)) { return answer } let n = words.length // visited 와 queue let visited = Array(n).fill(0) let q = [begin] // 단어의 인덱스를 객체에 저장 con..
![릴레이션 키](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fnk814%2FbtqLxuWZlmI%2FFa1jxFjftuuIscLgJkPfmk%2Fimg.png)
릴레이션 키
📔키 키는 검색이나 정렬 시 Tuple을 구분할 수 있는 기준이 되는 Attribute(속성)입니다. 후보키, 기본키, 대체키, 슈퍼키가 있습니다. 📔키의 종류 후보키 기본키 대체키 슈퍼키 먼저 후보키는 튜플을 유일하게 식별하기 위해 사용하는 속성들의 부분집합입니다. 기본키가 될 수 있는 후보들이죠. 이 후보키는 유일성과 최소성을 만족해야합니다. 유일성 최소성 유일성이란 키로 튜플을 오직 하나만 유일하게 식별할 수 있어햐 합니다. 최소성은 레코드를 구별하는데 반드시 필요한 속성으로만 구성해야 합니다. (학번과 주민번호는 후보키가 될 수 있지만 학번+주민번호의 조합은 후보키가 될 수 없습니다. 그 이유는 이미 학번이나 주민번호로 튜플을 식별할 수 있는데 굳이 사용할 필요가 없죠) 기본키는 앞에서 설명한 후..