목록전체 글 (601)
sm 기술 블로그
객체 key와 value형태로 이루어진 배열이라고 생각하면된다. 선언방법 바로 값을 선언하는 방법 let A = {'a':1, 'b':2, 'c':3}; 비어있는 객체를 선언하는 방법 let B = new Object(); let B = {}; 객체 값 추가 B[a] = 1; B[b] = 2; B[c] = 3; 위 방법은 {}, new Object() 으로 선언했을 때 가능하다. B.a=1; B.b=2; B.c=3; 위 방법은 new Object() 으로 선언했을 때 가능하다.
let input = require('fs').readFileSync(0).toString().trim().split("\n"); let N = parseInt(input[0]); let tmp = input[1].split(" ").map(Number); result = new Object(); resultPrint = ""; let arr = Array.from(new Set(tmp)).sort((a,b)=>a - b); for(let i = 0 ; ia - b); 입력값의 중복을 제거하기 위해 집합을 사용하고 그것을 배열로 만들고 오름차순으로 정리해주었다. result = new Object(); for(let i = 0 ; i
import sys input = sys.stdin.readline N = int(input()) num = list(map(int, input().split())) arr = sorted(list(set(num))) result = {arr[i]: i for i in range(len(arr))} for i in num: print(result[i], end=" ") 문제 요약 x좌표가 들어왔을 때 효율적으로 탐색할 수 있게 좌표압축을 구현해라 설명 좌표압축의 개념은 아래에 들어가보자. https://smhope.tistory.com/235 좌표압축 좌표압축 만약 x축의 좌표가 [0 ,1 ,2 ,3 ,100 ,150]과 같이 주어졌을 때, 0~3은 각 1씩 차이라 크게 문제 되지 않지만 100과 150..
좌표압축 만약 x축의 좌표가 [0 ,1 ,2 ,3 ,100 ,150]과 같이 주어졌을 때, 0~3은 각 1씩 차이라 크게 문제 되지 않지만 100과 150을 탐색하기 위해서는 100까지, 150까지 탐색해야하는 문제점이 있다. 다시말해 4~99, 101~149는 쓰지 않는데 탐색하고 있는 시간낭비를 하고 있는 것이다. 숫자의 갭차이가 크게 늘어난다면 시간낭비는 더욱 늘어날 것이다. 이때 사용하는것이 좌표 압축이다. 좌표압축 사용 0 ,1 ,2 ,3 ,100 ,150 을 0 ,1 ,2 ,3은 그대로 100을 4로 150을 5로 가정하고 비교한다면 매우 시간이 절약될 것이다. 그래서 0, 1, 2, 3, 100, 150 => 0, 1, 2, 3, 4, 5로 나타낼 수 있다. 구현 방법 먼저 값을 배열로 받고..