분류 전체보기93 ==와 ===의 차이점은 무엇인가요? ==와 ===는 모두 비교 연산을 수행하는 연산자이다. JavaScript에서 비교 연산의 대상은 값과 데이터 타입, 두 가지임을 이해하고 아래 내용을 알아보자. == ==는 느슨한 비교를 수행하는 동등 연산자로, 비교하고자 하는 두 대상의 데이터 타입이 다를 경우 동일한 데이터 타입으로 암묵적으로 변환한 뒤 비교를 수행한다. 즉 실질적인 비교 대상은 값으로, 데이터 타입이 달라도 값이 같으면 true를 반환할 수 있다. 그러나 이러한 암묵적인 형변환 과정이 때로는 예측하지 못한 결과를 초래할 수 있다는 점에서 조심히 사용해야 한다. === ===는 엄격한 비교를 수행하는 일치 연산자로, 비교하고자 하는 두 대상의 값과 데이터 타입을 비교한다. 즉 실질적인 비교 대상은 값과 데이터 타입으로, 값과 데이터.. 2025. 1. 22. 백준 11653번 백준 11653번을 풀어보았다. 첫번째 풀이는 시간초과가 발생하였다.let N = Number(require('fs').readFileSync('/dev/stdin').toString())let primeFactor = 2, output = ''while (true) { while (N % primeFactor === 0) { N /= primeFactor output += `${primeFactor}\n` } if (N === 1) break let isPrimeNumber = false while (!isPrimeNumber) { primeFactor += 1 for (let i = 2; i 먼저 나머지가 0이 될 때까지 N을 primeFactor로 나누고 (N에서 하.. 2025. 1. 22. 백준 2581번 백준 2581번을 풀어보았다. 앞의 문제들과 거의 동일한 아이디어를 사용한다. 소수를 찾을 땐 1부터 N까지 확인해볼 수도 있지만 1부터 N의 제곱근까지 확인하는 게 더 효율적이고 이때 반복문 대신 filter 메소드를 사용할 수도 있으며 배열의 합을 구할 땐 반복문을 사용할 수도 있지만 reduce 메소드를 사용하는 게 더 효율적이라는 것. 참고) 백준 2501번, 9506번, 1978번 위 내용을 바탕으로 이 문제는 크게 두 가지 풀이로 구분할 수 있다.M~N 중 소수인 것들만 배열에 넣기M~N 전부 배열에 넣고 소수인 것들만 필터링하기 소수인 것들만 배열에 넣기let [M, N] = require('fs').readFileSync('/dev/stdin').toString().split('\n').m.. 2025. 1. 20. 백준 1978번 백준 1978번을 풀어보았다. 앞서 약수를 찾을 때 1부터 N까지 확인해 볼 수도 있지만 1부터 N의 제곱근까지만 확인해도 된다고 하였는데, 소수 여부를 판단하고 소수를 찾는 경우에도 동일하다. 소수라는 건 1과 자기자신을 제외한 약수를 가지지 않는 수를 의미하므로 2부터 자기자신-1까지 중 약수가 존재하지 않으면 소수일 것이다. 이때 약수는 대칭적으로 존재하므로 2부터 자기자신의 제곱근까지 중 약수가 존재한다면 자기자신의 제곱근 이후로는 굳이 확인해 볼 필요 없다. 참고) 백준 2501번, 백준 9506번 1부터 input[i]까지 확인하기let [N, input] = require('fs').readFileSync('/dev/stdin').toString().split('\n')N = Number(N.. 2025. 1. 17. 백준 9506번 백준 9506번을 풀어보았다. 다양한 풀이가 존재하는데, 크게 약수 구하기, 배열의 합 구하기, 배열 출력하기 측면에서 구분해볼 수 있다. 1. 약수 구하기1부터 n까지 확인1부터 n/2까지 확인1부터 n의 제곱근까지 확인2. 배열의 합 구하기반복문 이용reduce 메소드 이용3. 배열 출력하기반복문과 조건문 이용join 메소드 이용 1. 약수 구하기 1부터 n까지 확인let input = require('fs').readFileSync('/dev/stdin').toString().split('\n').map(Number)let output = ''for (const n of input) { if (n === -1) break let sum = 0, divisors = [] for (let i = .. 2025. 1. 17. 백준 2501번 백준 2501번을 풀어보았다. 약수를 구하는 간단한 문제로, 크게 두 가지 풀이로 구분할 수 있다.1부터 N까지 확인해보기1부터 N의 제곱근까지 확인해보기 1부터 N까지 확인해보기let [N, K] = require('fs').readFileSync('/dev/stdin').toString().split(' ').map(Number)let cnt = 0, output = 0for (let i = 1; i 위 코드에선 K번째가 되면 반복을 종료하고 바로 정답을 출력하도록 했지만 반복을 끝까지 수행하여 모든 약수를 배열에 저장한 뒤 K-1번째 요소를 출력할 수도 있다. 1부터 N의 제곱근까지 확인해보기let [N, K] = require('fs').readFileSync('/dev/stdin').toStr.. 2025. 1. 16. 이전 1 2 3 4 5 ··· 16 다음