BOJ(13)
-
[백준/BOJ] 12789번 도키도키 간식드리미 (Javascript / Node js)
https://www.acmicpc.net/problem/12789 12789번: 도키도키 간식드리미 인하대학교 학생회에서는 중간, 기말고사 때마다 시험 공부에 지친 학우들을 위해 간식을 나눠주는 간식 드리미 행사를 실시한다. 승환이는 시험 기간이 될 때마다 간식을 받을 생각에 두근두 www.acmicpc.net 문제 해석 문제는 위 그림에 "한 명씩만 설 수 있는 공간"을 활용하여 "간식받는 곳"에 수들을 오름차순으로 받아올 수 있을 경우에는 "Nice"를 출력하고 "한 명씩만 설 수 있는 공간"을 활용하여도 "간식받는 곳"에 수들을 오름차순으로 받아올 수 없을 경우에는 "Sad"를 출력하면 되는 문제이다. 우선 설명하기에 앞서 일단 편의를 위해, 그리고 구현된 전체 코드를 더 쉽게 이해하기 위해 간식..
2023.10.31 -
[백준/BOJ/ICPC] 16360번 Go Latin (Node js / Javascript)
https://www.acmicpc.net/problem/16360 16360번: Go Latin Your program is to read from standard input. The input starts with a line containing an integer, n (1 ≤ n ≤ 20), where n is the number of English words. In the following n lines, each line contains an English word. Words use only lowercase alphabet let www.acmicpc.net 문제 해석 문제는 입력받은 문자열을 표를 참고해서 마지막이 English열에 해당하는 문자들 (-a, .. , -w) 로 끝나는 문자..
2023.10.22 -
[백준 / BOJ] 17103번 골드바흐 파티션 (Javascript / Node js)
https://www.acmicpc.net/problem/17103 17103번: 골드바흐 파티션 첫째 줄에 테스트 케이스의 개수 T (1 ≤ T ≤ 100)가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 정수 N은 짝수이고, 2 2 + 2 , 8 -> 3 + 5 와 같이 소수 두개의 합으로 나타내는 표현이라고 한다. 10의 골드바흐 파티션은 (3 + 7), (5 + 5)이 있다. (3 + 7)과 (7 + 3)은 같은 파티션으로 간주한다고 하니, 10의 골드바흐 파티션은 2개가 나오는 것을 확인할 수 있다. 그러니 입력 받은 짝수 N을 소수로 뺀 값이 소수가 나오는 경우의 수를 세주면 ..
2023.10.21 -
[백준 / BOJ] 4948번 베르트랑 공준 (Javascript / Node js)
https://www.acmicpc.net/problem/4948 4948번: 베르트랑 공준 베르트랑 공준은 임의의 자연수 n에 대하여, n보다 크고, 2n보다 작거나 같은 소수는 적어도 하나 존재한다는 내용을 담고 있다. 이 명제는 조제프 베르트랑이 1845년에 추측했고, 파프누티 체비쇼 www.acmicpc.net 문제 해석 이 문제는 에라토스테네스의 체를 이용해서 소수들이 검사되어 있는 배열을 생성해주는 메소드를 만들어주고, 함수의 인자로 배열의 크기(2N), 검사할 수의 시작 인덱스(M)를 인자로 받아 반복문을 통해 해당 범위내의 소수의 수를 세준 뒤 return해주면 되겠다. 에라토스테네스의 체를 이해하기 위해서는 아래 링크를 참고해주시면 감사하겠습니다. [백준 / BOJ] 1929번 소수 구하..
2023.10.21 -
[백준 / 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] 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