3048번: 개미
T초가 지난 후에 개미의 순서를 출력한다. 첫 번째 개미 그룹은 왼쪽에서 오른쪽으로 움직이고, 두 번째 그룹은 반대 방향으로 움직인다.
www.acmicpc.net
접근 : 구현
단순 구현문제지만 어렵다... 접근 방법만 생각하면 금방 구현할 수 있지만 규칙을 찾아내는 것이 아직도 많이 약한것 같다. 시간이 해결해 줄꺼라고 생각하고 차근차근 풀고있다.
Javascript
let input = require("fs")
.readFileSync("input.txt") //"/dev/stdin"
.toString()
.trim()
.split("\n")
.map((val) => val.trim());
function solution(input) {
//input
let [n1, n2] = input
.shift()
.split(" ")
.map((v) => +v);
let n1_arr = input[0].split("").reverse();
let n2_arr = input[1].split("");
let ant = [...n1_arr, ...n2_arr];
let dir = [...new Array(n1).fill(1), ...new Array(n2).fill(-1)];
let t = +input[2];
while (t--) {
const points = [];
for (let i = 0; i < ant.length; i++) {
if (dir[i] === 1 && dir[i + 1] === -1) {
points.push(i);
}
}
for (let i = 0; i < points.length; i++) {
const point = points[i];
const tmpAnt = ant[point];
ant[point] = ant[point + 1];
ant[point + 1] = tmpAnt;
dir[point] = -1;
dir[point + 1] = 1;
}
}
console.log(ant.join(""));
}
solution(input);
'코딩테스트(알고리즘) > baekjoon' 카테고리의 다른 글
[baekjoon] 8979 올림픽 (Javascript) (0) | 2022.06.22 |
---|---|
[baekjoon] 도로와 신호등 2980 (Javascript) (0) | 2022.06.20 |
[baekjoon] 쇠막대기 10799 (Javascript,c++) (0) | 2022.06.18 |
[baekjoon] 그림 1926 (C++) (0) | 2022.06.17 |
[baekjoon] 균형잡힌 세상 4949 (Javascript, c++) (0) | 2022.06.16 |