알고리즘 - [백준] 14681번

Seong Hyeon Kim·2022년 8월 13일
0

알고리즘

목록 보기
12/20
post-thumbnail

문제 순서대로 풀기 진행중 정답률이 가장 높은
사분면의 고르기 문제를 보고 떠올린 풀이방법은

우선 if 문으로 바로 풀수 있겠다 라는 느낌이 들었다.

특정 조건에 맞는 결과값을 주면 되는 부분이라서
우선 if 문으로 풀고 좀더 간결한 답이 있을지 생각해보기로 하였다.

const fs = require("fs");
const [x,y] = fs
  .readFileSync("input.txt")
  .toString()
  .trim()
  .split("\n")
  .map(Number);

if(x>0&&y>0){
    console.log(1)
  
} else if(x<0&&y>0){
    console.log(2)

} else if(x<0&&y<0){
    console.log(3)

} else if(y<0&&x>0){
    console.log(4)
}

정답률이 높은 문제 답게 if 문으로 간단하게 풀리는 것을 확인하였으며
문제를 풀던 중 더 간결하게 코드를 짤 수 있을것 같은 느낌이 들었고,
경우의 수를 4가지로 나누기보다는
x 가 양수일 때 y의 값 둘중 하나
x 가 음수일 때 y의 값 둘중 하나
식으로 풀수 있겟단 생각도 들었었는데,

역시나 같이 스터디하는 팀원들은 이미 삼항연산자로 풀었고

나 역시 삼항연산자로 더 짧게 풀게 되었다.

const fs = require("fs");
const [x,y] = fs
  .readFileSync("input.txt")
  .toString()
  .trim()
  .split("\n")
  .map(Number);

if(x>0){
    console.log(y>0 ? 1 : 4)
}else {
    console.log(y>0 ? 2 : 3)
}
profile
삽질도 100번 하면 요령이 생긴다. 부족한 건 경험으로 채우는 백엔드 개발자

0개의 댓글