Poylib
기록형 프론트엔드
Poylib
전체 방문자
오늘
어제
  • 분류 전체보기 (91)
    • Programing (38)
      • Javascript (17)
      • Typescript (1)
      • React (9)
      • React-Native (6)
      • Git (4)
      • Next (1)
    • Study (36)
      • Algorithm (35)
      • Etc. (1)
    • Record (17)
      • Memoirs (12)
      • Group (5)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 자바스크립트
  • 리액트
  • 기초
  • 알고리즘
  • typescript
  • Git
  • react
  • Object
  • javascript
  • 백준
  • 회고
  • ReactNative
  • 코딩테스트
  • Error
  • vite
  • 프로그래머스
  • 코칭스터디
  • react-native

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Poylib

기록형 프론트엔드

Study/Algorithm

<BEAKJOON> 14681 JavaScript

2022. 3. 31. 22:48

1. 삼항 조건 연산자

  • 조건식의 평가 결과에 따라 반환할 값을 결정한다. (자바스크립트의 유일한 삼항 연산자)
  • 조건식 ? true일 때 반환할 값  : false일 때 반환할 값
  • 피연산자인 조건식은 불리언 타입의 값으로 평가될 표현식이다. 따라서 조건식의 평가 결과가 불리언 값이 아니라면, 불리언 값으로 암묵적 타입 변환된다.
  • 값으로 평가할 수 있는 표현식인 문이다. if...else 문으로 유사하게 처리 가능하지만 이는 표현식이 아닌 문이다. 즉 삼항 조건 연산자 표현식은 값처럼 다른 표현식의 일부가 될 수 있기에 if...else문보다 유용하다.
  • 조건에 따라 수행해야 할 문이 하나가 아니라 여러 개라면 if...else 문의 가독성이 더 좋을 수 있다.
let x = 10;
let result = x%2 ? '홀수' : '짝수';
//0은 false로 암묵적 타입 변환

console.log(result); //짝수

let ifResult = if (x % 2) {result = '홀수';} else {result = '짝수';};
console.log(ifResult); //SyntaxError: Unexpected token 'if'

2. 14681 (사분면 고르기)

const fs = require('fs');
const input = fs.readFileSync('/dev/stdin').toString().split(`\n`);
const a = parseInt(input[0]);
const b = parseInt(input[1]);
if( a > 0) {
 console.log(b>0?1:4);
}else {
  console.log(b>0?2:3);
}

처음에 작성했던 코드인데, 런타임 오류가 뜬다.

 const fs = require('fs');
 const input = fs.readFileSync(0).toString().split('\n');

let a = parseInt(input[0]);
let b = parseInt(input[1]);

 if (a > 0) {
   console.log(b > 0 ? 1 : 4);
 } else {
   console.log(b > 0 ? 2 : 3);
 }

구글링하다 이렇게 제출하고 오류를 해결했다.

readFileSync()에 들어간 입력이 문제였던거 같은데, 같은 방식으로 여태 제출하다 이 문제에서 왜 오류가 나는 지 모르겠다.

node.js 자체가 아직 낮설다보니 좀 더 공부하고 추후에 이유를 찾아보려한다.

참조
deep dive
저작자표시 비영리 변경금지 (새창열림)

'Study > Algorithm' 카테고리의 다른 글

[programmers / JavaScript] 숫자 문자열과 영단어  (0) 2022.04.30
<BEAKJOON / node.js> 10828 스택  (0) 2022.04.29
<BEAKJOON> 4344 JavaScript  (0) 2022.04.26
<programmers / JavaScript> 직사각형 별찍기  (0) 2022.04.14
<BEAKJOON / node.js> 10171, 10172  (0) 2022.03.28
    'Study/Algorithm' 카테고리의 다른 글
    • <BEAKJOON / node.js> 10828 스택
    • <BEAKJOON> 4344 JavaScript
    • <programmers / JavaScript> 직사각형 별찍기
    • <BEAKJOON / node.js> 10171, 10172
    Poylib
    Poylib
    모시깽 기록

    티스토리툴바