javascript(40)
-
[백준 / BOJ] 4134번 다음 소수 (Javascript / Node js)
https://www.acmicpc.net/problem/4134 4134번: 다음 소수 첫째 줄에 테스트 케이스의 개수가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 정수 n이 주어진다. www.acmicpc.net 문제 해석 문제 자체는 간단하고 명확하다, 테스트 케이스마다 입력받은 n보다 큰 소수 중 가장 작은 소수를 출력하면 정답이다. 즉, n 바로 다음에 나올 소수가 정답이 되겠다. 이번에도 마찬가지로 정수 n의 범위가 1억을 가볍게 넘기는걸 보니 단순한 for문으로는 반드시 시간 초과가 걸릴 것이다. 1. 일단 단순하게 시간 초과를 고려하지 않고 n 바로 다음에 나올 소수를 찾기 위해선 for문과 n++ 을 통해 n에서 1씩 증가시키고 증가된 값을 i라고 가정했을 때 i가 본인과 1..
2023.10.13 -
[백준 / BOJ] 2485번 가로수 (Javascript / Node js)
https://www.acmicpc.net/problem/2485 2485번: 가로수 첫째 줄에는 이미 심어져 있는 가로수의 수를 나타내는 하나의 정수 N이 주어진다(3 ≤ N ≤ 100,000). 둘째 줄부터 N개의 줄에는 각 줄마다 심어져 있는 가로수의 위치가 양의 정수로 주어지며, 가 www.acmicpc.net 문제 해석 첫 번째 입력으로 예시를 들어보자 나무는 현재 1 3 7 13 의 위치에 존재한다. 현재 존재하는 나무들 사이에 나무들을 추가하여 모든 나무들의 간격이 일정하게 만들어 주는게 문제다. 위 예시에서 모든 나무들의 간격이 일정해지기 위해서는 위와 같이 5, 9, 11에 나무들을 추가적으로 심어주면 모든 나무들의 간격이 [2]로 동일해진다. 여기서 문제는 어떻게 [2]라는 숫자를 도출..
2023.10.12 -
[백준/BOJ] 1934번 최소공배수 (Javascript / Node js)
https://www.acmicpc.net/problem/1934 1934번: 최소공배수 두 자연수 A와 B에 대해서, A의 배수이면서 B의 배수인 자연수를 A와 B의 공배수라고 한다. 이런 공배수 중에서 가장 작은 수를 최소공배수라고 한다. 예를 들어, 6과 15의 공배수는 30, 60, 90등이 있 www.acmicpc.net 문제 해석 문제 자체는 명확하고 간단하다. 테스트 케이스 각각의 두 수(A, B)의 최소 공배수를 출력해주면 된다. 부끄럽지만 나는 이 문제를 풀기전까지 유클리드 호제법에 대해 아는 것이 없었다. 최대공약수로 최소공배수를 구할 수 있다는 사실조차 어렴풋이 중고등학교 시절에 배운 기억이 있지만 기억이 났던건 문제를 다 풀고 난 후였다. 그래서 내가 생각해낸 풀이 방식은,, 입력 ..
2023.10.10 -
[백준/BOJ] 11478번 서로 다른 부분 문자열의 개수 (Javascript / Node js)
https://www.acmicpc.net/problem/11478 11478번: 서로 다른 부분 문자열의 개수 첫째 줄에 문자열 S가 주어진다. S는 알파벳 소문자로만 이루어져 있고, 길이는 1,000 이하이다. www.acmicpc.net 문제 해석 입력 받은 문자열에서 모든 경우의 부분집합들을 추출해낸 후, 중복된 값들만 제거해주면 되는 간단한 문제이다. Javascript에서는 Set객체를 사용해서 중복을 제거할 수 있기 때문에 입력 받은 문자열에서 모든 경우의 부분집합들을 추출해 내는 알고리즘만 구현해 내면 된다. 나는 2중 for문을 사용해서 첫번째 for문의 i 값으로 잘라낼 문자열의 길이를 정의했고, 두번째 for문의 j 값으로 잘라낼 문자열의 시작부분을 정의했다. 그러니 자연스럽게 잘라낼..
2023.10.10 -
[백준/BOJ] 1269번 대칭 차집합 (Javascript / Node js)
https://www.acmicpc.net/problem/1269 1269번: 대칭 차집합 첫째 줄에 집합 A의 원소의 개수와 집합 B의 원소의 개수가 빈 칸을 사이에 두고 주어진다. 둘째 줄에는 집합 A의 모든 원소가, 셋째 줄에는 집합 B의 모든 원소가 빈 칸을 사이에 두고 각각 주어 www.acmicpc.net 문제 해설 대칭 차집합의 개수는 집합 A 와 B가 있을때 A에서 A와B의 교집합을 뺀 원소의 개수와 B에서 A와B의 교집합을 뺀 원소의 개수의 합이다. 결국 A와 B 원소의 개수를 더한 뒤, 교집합의 개수를 한번 빼면 합집합이 되고, 합집합에서 한번 더 교집합의 개수를 빼면 문제에서 말하는 대칭 차집합의 원소의 개수가 나온다. 전체 코드 const fs = require("fs"); cons..
2023.10.06 -
[백준/BOJ] 18870번 좌표 압축 (Javascript/ Node js)
https://www.acmicpc.net/problem/18870 Xj를 만족하는 서로 다른 좌표 Xj의 개수와 같아야 한다. X1, X2, ..., XN에 " data-og-host="www.acmicpc.net" data-og-source-url="https://www.acmicpc.net/problem/18870" data-og-url="https://www.acmicpc.net/problem/18870" data-og-image="https://scrap.kakaocdn.net/dn/I0Glf/hyT55Tj94t/fqozrhjkijIUa5GkkXxYHK/img.png?width=2834&height=1480&face=0_0_2834_1480"> 18870번: 좌표 압축수직선 위에 N개의 좌표 X..
2023.10.04