Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- Vue3 Router
- 리팩토링 회고
- 모던 javascript Deep Dive
- frontend roadmap study
- react customHook 예시
- useRef 지역 변수
- 프로그래머스 데브코스 프론트엔드
- TypeScript 문법 소개
- 모던 자바스크립트 딥다이브
- useEffect return
- Vue3
- 백준 js
- 머쓱이
- 백준 node.js
- 모던 자바스크립트 Deep Dive TIL
- 인프런 자바스크립트 알고리즘 문제풀이
- 우테캠 회고록
- react 프로젝트 리팩토링
- 개발자 특강
- 프로그래머스 데브코스
- Frontend Roadmap
- 프로그래머스 K_Digital Training 프론트엔드
- 모던 자바스크립트 TIL
- K_Digital Training
- 모던 자바스크립트 Deep Dive
- KDT 프로그래머스
- KDT 프로그래머스 데브코스 프론트엔드
- 프로그래머스 데브코스 프론트엔드 TIL
- 투포인터알고리즘 js
- 프로그래머스 K_Digital Training
Archives
- Today
- Total
프론트엔드 개발자의 기록 공간
[백준 node.js] 1138번_한 줄로 서기 본문
백준 그리디 알고리즘 1138번_한 줄로 서기
난이도 : 실버II
문제 설명
입출력
문제 해설 : 이 문제의 핵심은 입력으로 주어지는 순서가 "키의 순서"이다. 그리고 해당 값이 왼쪽에 몇명있는지를 나타내는 숫자이다. 즉 입력예제 2 1 1 0은 키1인 사람의 왼쪽에는 자신보다 큰 두명이 있고
키 2인 사람의 왼쪽에는 자신보다 큰 한명이있고 키3인 사람의 왼쪽에는 자신보다 큰 한명이 있고 키 4인 사람은 자신보다 큰 왼쪽의 사람은 0명이 있다는 의미이다.
// 실버2 한 줄로 서기
function solution(n, list) {
let result = new Array(n).fill(0);
//i는 키 순서를 의미(1부터~)
for(let i=1; i<n+1; i++){
//왼쪽에 몇명이 있는지 저장하는 변수
let tmp = list[i-1];
let count = 0;
//j는 배열 인덱스를 의미
for(let j=0; j<n; j++){
//왼쪽에 있는 변수와 카운트가 일치하고 빈 배열이면 삽입
if(count === tmp && result[j] === 0){
result[j] = i;
break;
}
//result배열이 비어있을때만 카운트(이미 있는값들은 무시)
else if(result[j] === 0){
count += 1;
}
}
}
//배열 요소를 줄바꿈 없이 하나씩 출력하기 위해 join사용
let r = result.join(" ")
console.log(r);
}
const readline = require("readline");
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
let input = [];
rl.on("line", function (line) {
//여러줄 입력
input.push(line)
}).on("close", function () {
//n명
let n = parseInt(input[0]);
//띄어쓰기 기준으로 배열에 넣기
let list = input[1].split(' ').map((el) => parseInt(el));
solution(n, list);
process.exit();
});
* 배열의 요소를 줄바꿈없이 출력할려면 JS에서는 join함수를 이용하면 해결할 수 있다.
728x90
'알고리즘_JS > 백준_Greedy' 카테고리의 다른 글
[백준 node.js] 4796번_캠핑 (2) | 2020.12.27 |
---|---|
[백준 node.js] 1744번_수 묶기 (0) | 2020.12.26 |
[백준 node.js] 1080번_행렬 (0) | 2020.12.26 |
[백준 node.js] 1946번_신입 사원 (0) | 2020.12.25 |
[백준 node.js] 1541번_잃어버린 괄호 (2) | 2020.12.25 |
Comments