목록전체 글 (601)
sm 기술 블로그
let input = require("fs").readFileSync(0).toString().trim().split("\n").map(Number); input.shift(); console.log(input.sort((a, b) => a - b).join("\n")); input.shift() 값의 기준을 오른쪽으로 이동 시킨다. 예를들어 5 5 4 1 2 3 을 입력 받으면 input shift()를 통해 값은 5 4 1 2 3 으로 된다. 자바스크립트에서는 sort를 문자로 정렬을 한다. 때문에 12 21 5 가 있다면 5가 가장 작지만 12 , 21 , 5순으로 정렬한다. 그것을 방지하기 위해 a와 b의 값을 비교해서 양수면 a가 더 크고 음수면 b가 더 크게 된다. 오름차순 arr.sort((..
import sys input = sys.stdin.readline print(*sorted([int(input()) for _ in range(int(input()))])) 문제 요약 언어에 있는 요소들을 잘 써서 더 빠르게 정렬 가능함? 해결 파이썬에서 input의 속도는 sys에 비해서 비교적 많이 느리다. 때문에 import sys input = sys.stdin.readline 을 통해서 input의 속도를 sys만큼 끌어 올리는 것이다. 기본 문법은 import sys sys.stdin.readline() 다음과 같다. 근데 우리는 input이 익숙하기 때문에 input을 sys속도 만큼 끌어 올리는 첫번째 문법을 이용하는 것을 추천한다. sorted는 파이썬에 내장된 정렬함수로 *을 붙여주면..
스택없는 계산기 먼저 설명에 앞서 모든 기능을 완벽하게 구현할 것은 아니다. 따라서 알고리즘을 보고 각자 기호에 맞게 집어 넣으면 될 것 이다. 스택 방법이 더 쉬우며 스택방법은 완벽히 구현이 완료 되었으므로 스택을 보고 싶다면 클릭 String s1 = (1+(10+5)* 4) 을 계산해 보자 1. 괄호 제거 먼저 괄호가 있는 부분을 찾아야 한다. 괄호에 다음과 같은 규칙을 생각해야한다. 앞에서 부터 ")"가 첫번째로 나온 부분이 제일 먼저 계산해야 하는 부분이다. 뒤에서 부터 "("가 첫번째로 나온 부분이 제일 먼저 계산해야 하는 부분이다. 먼저 공백이 있으면 안되니 공백을 제거해주자 s1 = s1.replace(" ", ""); 그 다음 먼저 계산해야하는 괄호를 찾아 s2에 저장하고, 그 부분에서 ..