분류 전체보기

해당 문제는 js의 구조분해할당(Destructuring_assignment) 개념을 알고 있으면 수월하게 풀 수 있을 것 같다 x,y 좌표를 한번에 받아서 가지고 있어야하는데 [x,y] 라는 형태로 저장하려면 구조분해할당개념을 알고 있으면 수월하게 처리가 가능하다 그리고 js의 sort 함수는 함수내에 compare()함수를 통해서 내가 원하는 방식으로 내림차순 or 오름차순을 사용할 수 있는데 x 좌표가 같은 경우는 y 좌표를 통해서 검증하는 내용을 놓치지 않으면 쉽게 풀 수 있을 것 같다 // readline 모듈보다는 fs를 이용해 파일 전체를 읽어 들여 처리하기 const fs = require('fs') const getInput = (filePath) => { return fs .readFi..
js로 값을 받을때는 꼭 Number을 쓰도록하자 첨에 arr 5개만큼 for돌리려다 읭 근데 이미 arr2가 5개아닌가..? 하고 해당 동작은 생략했음 // readline 모듈보다는 fs를 이용해 파일 전체를 읽어 들여 처리하기 const fs = require('fs') const getInput = (filePath) => { return fs .readFileSync(filePath) .toString() .trim() .split(/\n/); } const input = getInput('test.txt'); // 제출시 여기 '/dev/stdin' 으로 변경 let arr1 = input[0].split(' ').map(Number); let arr2 = input[1].split(' ')...
아놔 백준에서 node js 숫자받을때 왕짜증남 앞으로 숫자 값을 받을 때 마다 Number을 애용합시다 // readline 모듈보다는 fs를 이용해 파일 전체를 읽어 들여 처리하기 const fs = require('fs') const getInput = (filePath) => { return fs .readFileSync(filePath) .toString() .trim() .split(/\n/); } const input = getInput('/dev/stdin'); // 제출시 여기 '/dev/stdin' 으로 변경 // let arr = input[0].split(' ').map(Number); let arr = []; let n = Number(input[0]); for(let i =1;i..
sort함수는 정렬 기준을 지정하지 않을 경우 기본적으로 각 요소를 문자열로 변환하고 유니코드 코드 포인트 순서에 따라 정렬한다 이는 숫자를 정렬할 때 우리가 일반적으로 기대하는 방식과 다를 수 있다.... 그러니까 [ 1, 2, 3 ] 배열을 arr.sort()로 그냥 돌리면 이때는 문제가 없지만 let arr = [10, 5, 20, 2]; 와 같은 배열을 arr.sort() 함수로 돌리게 되면 [ 10, 2, 20, 5 ] 와 같은 결과를 받아버릴 수 있다 따라서 숫자를 js의 sort함수로 내림차순이나 오름차순을 할 경우에는, 꼭 compare함수를 정의해주어야 한다 arr.sort()돌렸다가 열심히 삽질함.. // readline 모듈보다는 fs를 이용해 파일 전체를 읽어 들여 처리하기 cons..
· 알고리즘
알고리즘 병합정렬은 배열을 정렬하는 효율적인 알고리즘 중 하나이다. 이 알고리즘은 분할 정복을 이용해서 정렬한다! (1) 분할 : 배열을 반으로 나눈다. 이 과정은 배열을 작은 단위의 하위 배열로 계속해서 나누는 과정이다. (2) 정복 : 각 하위 배열을 재귀적으로 정렬한다. 이 정렬은 배열이 충분히 작고 정렬된 상태(length가 1일때까지) 계속 된다. (3) 병합 : 정렬된 하위 배열들을 병합하여 하나의 정렬된 배열을 만든다. 가장 극악의 상황에서도 O(NlogN)의 상황을 보장하는 알고리즘으로 꽤 효율적인 알고리즘이라고 할 수 있다 첨에는 진짜 무슨 소리인지 몰라서 ㅠㅠ 1시간을 넘도록 뚫어져라 쳐다보다가 재귀
회사 리팩토링을 진행하면서 웃긴 상황이 발생됐다 안드로이드 폰에서그냥 직접 url을 접근하면 문제가 따로 안생기는데검색을 통해서 url에 접근하는 경우에이상하게 상단에 250px 만큼 흰색 화면이 생기면서 페이지에 접근이 됐다신기방기 ㅋㅋ 그래서 이 250px가 도대체 어디서 왔는가? 를 찾아보니모바일 자판기 인 것 같은..? 그래서 결론적으로 문제는이동한 페이지에서 뷰포트가 모바일 자판기를 포함한 상태로 인식하다 보니까 css가 박살나서 보이는 상황인것이다 프론트개발자 분이랑 같이 삽질하다가 찾았다https://developer.chrome.com/blog/viewport-resize-behavior?hl=ko Android용 Chrome에 적용될 표시 영역 크기 조절 동작 변경사항에 대비하기  |  ..
import java.util.Scanner; public class Main { public static void main(String[] args) throws Exception { // Scanner 객체 생성 Scanner sc = new Scanner(System.in); // 테스트 케이스의 개수 선언 int T = sc.nextInt(); String[] arr = new String[T]; // 문자열 입력받기 for (int i = 0; i < arr.length; i++) { arr[i] = sc.next(); } sc.close(); // 입력받은 문자열을substring으로 0번째 끝번째를 출력한다. for (int i = 0; i < arr.length; i++) { // 만약 입..
Framework Interop Group에서 PSR-0, PSR-1, PSR-2 라는 권장 스타일 가이드를 제시했다 그러니까.. PSR은 결국 PHP 코딩 스타일 컨벤션 개념이다 예전에 입사해서 받은 우리 회사의 PHP 코딩 규칙~ 해서 보다가 PSR? 이라는 말이 있었는데 이제야 정확히 정의를 찾아본다 ;; PSR(Php-FIG Standard Recommendation)은 PHP 표준 권고서의 약어로 특정 기능 또는 스타일에 대한 표준 규칙을 정의한 문서를 나타낸다. PSR-1부터 PSR-4는 아래 내용에 잘 정리되어 있다 https://wikidocs.net/43540 PSR-1 # **1. Overview** - 파일은 태그 ` PHP 코드는 긴 태그 또는 짧은 에코 태그를 사용해야합니다 . 다..
· 알고리즘
트리란? - 트리는 가계도와 같이 계층적인 구조를 표현할 때 사용할 수 있는 자료구조다. - 나무(tree)의 형태를 뒤집은 것과 같이 생겼다. 트리 용어 정리 1) 루트 노드(root node): 부모가 없는 최상위 노드 2) 단말 노드(leaf node): 자식이 없는 노드 트리(tree)에서는 부모와 자식 관계가 성립한다. 3) 관계: 2을 값으로 가지는 노드와 4를 가지는 노드 사이의 관계 4) 깊이(depth): 루트 노드에서의 길이(length) - 트리의 높이(height)는 루트 노드에서 가장 깊은 노드까지의 길이를 의미한다. (상단 그림의 높이는 1) 이진 트리(Binary Tree) - 이진 트리는 최대 2개의 자식을 가질 수 있는 트리를 말한다. 우선순위 큐(Priority Queue..
· 알고리즘
큐란? - 큐(queue)는 먼저 삽입된 데이터가 먼저 추출되는 자료구조 (* 롤할때 말하는 '큐' 도 여기서 나온 뜻 같다!) - 큐를 연결 리스트로 구현하면, 삽입과 삭제에 있어서 O(1) 을 보장할 수 있다. - 연결 리스트로 구현할 때는 머리(head)와 꼬리(tail) 두 개의 포인터를 가진다. 1) 머리(head): 남아있는 원소 중 가장 먼저 들어 온 데이터를 가리키는 포인터 2) 꼬리(tail): 남아있는 원소 중 가장 마지막에 들어 온 데이터를 가리키는 포인터 삽입할 때는 꼬리(tail) 위치에 데이터를 넣는다 삭제할 때는 머리(head) 위치에서 데이터를 꺼낸다 예제) 전체 연산: 삽입 3 – 삽입 5 – 삭제 – 삽입 7 – 삭제 – 삽입 8 – 삭제 – 삽입 2 – 삽입 9 한쪽에선..
프흐프좋아
'분류 전체보기' 카테고리의 글 목록 (5 Page)