전체 글

알고리즘/프로그래머스

[JavaScript] 프로그래머스 #문자열 다루기 기본

https://school.programmers.co.kr/learn/courses/30/lessons/12918 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다. 제한 사항 s는 길이 1 이상, 길이 8 이하인 문자열입니다. s는 영문 알파벳 대소문자 또는 0부터 9까지 숫자로 이루어져 있습니다. 입출력 예 s return "a234" fals..

일상/Today I Learned

2022.09.29

1. 함수 표현식 :함수를 변수에 할당한 것 :함수는 sayHi()처럼 호출할 수 있다는 점에서 일반적인 값과는 다르나 본질은 값이다. 따라서 값에 할 수 있는 일ㅇ은 함수에도 할 수 있다. :함수선언문에는 세미 콜론이 없지만 함수 표현식에선 쓰는 것이 좋다! -조건문, 반복문, 함수선언문과 같이 중괄호로 만든 코드블럭에는 세미콜론이 붙지 않아도 된다. 하지만 함수 표현식의 경우 함수는 중괄호가 아니라 let 변수 = ...; 구문 안에서의 값의 역할을 한다. 따라서 이러한 구문 ㄲ끝에는 세미 콜론을 붙이는 게 좋다. => 함수 표현식에 쓰인 세미콜론은 함수 표현식이기 때문에 붙은 것이 아니라 구문의 끝이기 때문에 붙여진 거! -함수 선언문은 호이스팅 되어 어디서든 함수를 사용할 수 있지만 함수 표현식은..

알고리즘/백준

[JavaScript] 백준 좌표 정렬하기 #11650번

https://www.acmicpc.net/problem/11650 11650번: 좌표 정렬하기 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net 문제 2차원 평면 위의 점 N개가 주어진다. 좌표를 x좌표가 증가하는 순으로, x좌표가 같으면 y좌표가 증가하는 순서로 정렬한 다음 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 1..

알고리즘/백준

[JavaScript] 백준 정렬 소트인사이드 #1427번

https://www.acmicpc.net/problem/1427 1427번: 소트인사이드 첫째 줄에 정렬하려고 하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다. www.acmicpc.net 문제 배열을 정렬하는 것은 쉽다. 수가 주어지면, 그 수의 각 자리수를 내림차순으로 정렬해보자. 입력 첫째 줄에 정렬하려고 하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다. 출력 첫째 줄에 자리수를 내림차순으로 정렬한 수를 출력한다. 예제 입력1 2143 예제 출력1 4321 해결 방법 -문자열을 배열로 변환한 후 sort를 이용해서 정렬해준다. 그다음 다시 join 메소드로 문자열로 변환한다. 전체 코드 const fs = require('fs')..

알고리즘/백준

[JavaScript] 백준 정렬 통계학 #2108번

https://www.acmicpc.net/problem/2108 2108번: 통계학 첫째 줄에 수의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 단, N은 홀수이다. 그 다음 N개의 줄에는 정수들이 주어진다. 입력되는 정수의 절댓값은 4,000을 넘지 않는다. www.acmicpc.net 문제 수를 처리하는 것은 통계학에서 상당히 중요한 일이다. 통계학에서 N개의 수를 대표하는 기본 통계값에는 다음과 같은 것들이 있다. 단, N은 홀수라고 가정하자. 산술평균 : N개의 수들의 합을 N으로 나눈 값 중앙값 : N개의 수들을 증가하는 순서로 나열했을 경우 그 중앙에 위치하는 값 최빈값 : N개의 수들 중 가장 많이 나타나는 값 범위 : N개의 수들 중 최댓값과 최솟값의 차이 N개의 수가 주어졌을 때..

일상/Today I Learned

2022.09.26

1. dangerouslySetInnerHTML -코드에 HTML 텍스트를 넣었을 때 코드가 적용되는 것이 아니라 그대로 나오는 이유는 XSS(사이트 간 스크립팅) 공격을 막기 위해 리액트에서 일부러 설정해둔 것. 따라서 코드를 정상적으로 작동시키기 위해서는 dangerouslySetInnerHTML을 사용해야 한다. 보안상 중요하지 않은 경우 dangerouslySetInnerHTML을 사용하고 보안상 중요한 부분은 따로 모듈을 사용해야 한다. => 리액트를 공부하면서 그 외에 부가적인 가상 DOM, SPA 등에 대해 공부해볼 수 있어서 좋았다. 새롭게 알게 된 것을 그냥 알고 넘어가는 것이 아니라 포스팅을 통해 깊이있게 공부하면 좋을 것 같다. 작은 것이라도 포스팅으로 기록을 남기면 이후에 다시 복습..

알고리즘/백준

[JavaScript] 백준 정렬 커트라인 #25305번

https://www.acmicpc.net/problem/25305 25305번: 커트라인 시험 응시자들 가운데 1등은 100점, 2등은 98점, 3등은 93점이다. 2등까지 상을 받으므로 커트라인은 98점이다. www.acmicpc.net 문제 2022 연세대학교 미래캠퍼스 슬기로운 코딩생활에 N$N$명의 학생들이 응시했다. 이들 중 점수가 가장 높은 k$k$명은 상을 받을 것이다. 이 때, 상을 받는 커트라인이 몇 점인지 구하라. 커트라인이란 상을 받는 사람들 중 점수가 가장 가장 낮은 사람의 점수를 말한다. 입력 첫째 줄에는 응시자의 수 N과 상을 받는 사람의 수 k가 공백을 사이에 두고 주어진다. 둘째 줄에는 각 학생의 점수 x가 공백을 사이에 두고 주어진다. 출력 상을 받..

일상/Today I Learned

2022.09.22

1. 레이블 -중첩 반복문을 한 번에 모두 빠져나와야하는 경우 사용한다. -레이블은 반복문 앞에서 콜론과 함께 사용되는 식별자이다. outer: for (let i = 0; i >반복문을 알고리즘 문제를 풀면서 많이 접했지만 레이블이라는 개념은 처음이었다. 알아두..

일상/Today I Learned

2022.09.21

1.자바스크립트 클로저 -클로저는 함수와 그 함수가 선언됐을 때의 렉시컬 환경의 조합이다. 즉, 내부함수가 외부함수에 의해 선언됐을 때 리턴되는 내부함수와 외부함수의 스코프의 조합이 되는 것이다. 따라서 함수는 호출된 뒤에는 그 함수 안에 있는 변수에 접근할 방법이 없지만 내부함수 즉, 클로저가 있는 경우 별도로 외부함수의 변수를 참조할 수 있다. -클로저를 이용하는 경우 class의 private를 흉내낼 수 있다. 함수 내부의 변수는 외부에서 접근할 수 없기 때문에 함수 내부에서 this를 이용해 메소드를 사용하면 함수 내부의 변수 은닉화가 가능해진다. -클로저는 전역변수의 사용을 억제하고 최신 값을 유지하는 데에 유용하다. 만약 전역변수에 값이 변경되면 안되는 경우 외부에서의 접근을 막기 위해 함수..

알고리즘/백준

[JavaScript] 백준 정렬 수 정렬하기 #2750번

https://www.acmicpc.net/problem/2750 2750번: 수 정렬하기 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net 문제 N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오. 입력 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. 출력 첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다. 예제 입력1 5 5 2 3 4 1 예제 출력1 1 2..

YJzero
Eureka