https://www.acmicpc.net/problem/2920
https://developer.mozilla.org/ko/docs/Web/JavaScript/Guide/Expressions_and_operators
풀이법중 이해가 되지 않았던 논리 연산자를 사용한 풀이가 있어서 논리 연산자에 관한 아래 사항을 먼저 정리한다.
객체 관련된 아래의 문법도 처음본다.
const fs=require('fs');
const filepath=process.platform==='linux'?'dev/stdin':'./input.txt';
let input=fs.readFileSync(filepath).toString().split("\n");
const result = {
'1 2 3 4 5 6 7 8': 'ascending',
'8 7 6 5 4 3 2 1': 'descending'
}[input[0]];
//마치 메서드 처럼 쓰여 매개변수로 전달된 input[0]에 대응하는 속성이 있으면 그 속성의 값이 곧 그 객체가 된다.
console.log(result || 'mixed');
한편 아래와 같이 매개변수로 count를 주고 그에 대응하는 속성이 없게 1,4로 엉터리로 변경하면 result객체는 어떤값이 될까? undefined가 된다.
const fs=require('fs');
const filepath=process.platform==='linux'?'dev/stdin':'./input.txt';
let input=fs.readFileSync(filepath).toString().split("\n");
let count = 0;
for (let i = 0; i < 7; i++){
if (input[i] < input[i+1]) {
count++;
}
}
const result = {
1: 'descending',
4: 'ascending',
}[count];
console.log(result || 'mixed');
이것을 제대로 수정하여
아래는 정답코드
const fs=require('fs');
const filepath=process.platform==='linux'?'dev/stdin':'./input.txt';
let input=fs.readFileSync(filepath).toString().split("\n");
input=input[0].split(" ").map(item=>+item)
let count = 0;
for (let i = 0; i < 7; i++){
if (input[i] < input[i+1]) {
count++;
}
}
const result = {
0: 'descending',
7: 'ascending',
}[count];
console.log(result || 'mixed');
이것은 나의 코드
const fs=require('fs');
const filepath=process.platform==='linux'?'dev/stdin':'./input.txt';
let input=fs.readFileSync(filepath).toString().split("\n");
input=input[0].split(" ").map(item =>+item)
console.log(solution(input));
function solution(input){
let result="";
for(let i=0;i<7;++i){
if(input[i]==input[i+1]-1){
result="ascending";
}
else if(input[i]==input[i+1]+1){
result="descending";
}
else{
result="mixed";
return result;
}
}
return result;
}
'FrontEnd > PS through Javascript' 카테고리의 다른 글
백준(BOJ) 1463: 1로 만들기 (1) | 2024.02.03 |
---|---|
백준(BOJ) 2798: 블랙잭 (1) | 2024.02.01 |
백준(BOJ) 4344: 평균은 넘겠지 (0) | 2024.01.22 |
자바스크립트에서 값 입력받기 (0) | 2024.01.22 |
기초문법 with Algorithm (ing) (0) | 2024.01.20 |