목록전체 글 (601)
sm 기술 블로그
let input = require('fs').readFileSync(0).toString().trim().split("\n"); let N = input[0]; input.shift(); let inputArr = input.map(num => num.split(" ").map(nums => parseInt(nums))); let result = ""; //sort 함수 오버라이딩 inputArr.sort((a, b) => { if(a[0] != b[0]){ return a[0] - b[0]; } return a[1] - b[1]; }).forEach(inputArr => { result += inputArr[0] +" "+ inputArr[1] + "\n"; }); console.log(result)..
import sys input = sys.stdin.readline N = int(input()) arr = [list(map(int, input().split())) for _ in range(N)] arr.sort() for x, y in arr: print(x, y) 문제 요약 2차원 배열 정렬하시오. 설명 [list(map(int, input().split())) for _ in range(N)] 값을 받으면 공백으로 쪼개고 리스트형태로 리스트에 저장한다. 그러면 2차원 배열로 생성된다. sort()를 이용하여 정렬을 해준다 (파이썬에서는 2차원 배열이라도 x,y값 전부 정렬해주는 것 같다.)
let input = require("fs").readFileSync(0).toString().split(""); result = ""; let repoSortedNum = input.sort((a, b) => b - a); for (let val of repoSortedNum) { result += val; } console.log(result); 자바스크립트 입력 자체가 배열이란것을 알고 있다면 코드가 크게 길어지지 않는다. join을 통해 바로 출력을 할 수도 있다. let input = require("fs").readFileSync(0).toString().split(""); console.log(input.sort((a, b) => b - a).join(""));
import sys input = sys.stdin.readline N = input() result = "" repoNum = [] for i in range(len(N)-1): repoNum.append(int(N[i])) repoSortedNum = sorted(repoNum, reverse=True) for i in repoSortedNum: result += str(i) print(result) 문제요약 입력된 숫자를 내림차순으로 정렬해라 (2143 => 4321) 설명 크게 어렵지 않은 문제이다. 먼저 입력을 문자열로 받았다. 받은 문자열을 문자로 쪼개 리스트에 저장하였다. 정렬함수를 통해 내림차순으로 정렬하고 값들을 다시 문자열로 만들어 출력 하였다. sorted 사용방법은 아래를 참고하자 ..