코딩 테스트 (BOJ)(38)
-
[백준 / BOJ] 4949번 균형잡힌 세상 (Javascript / Node js)
https://www.acmicpc.net/problem/4949 4949번: 균형잡힌 세상 각 문자열은 마지막 글자를 제외하고 영문 알파벳, 공백, 소괄호("( )"), 대괄호("[ ]")로 이루어져 있으며, 온점(".")으로 끝나고, 길이는 100글자보다 작거나 같다. 입력의 종료조건으로 맨 마지막에 www.acmicpc.net 단계별로 풀어보기도 어느새 스택 알고리즘에 도착했다. 이제 곧 재귀함수, 백트래킹, 조합 , 백트래킹 등 난이도 있는 문제들을 푸는날도 얼마 남지 않은 것 같다. 문제 해석 먼저 균형잡힌 문자열이 아닌 경우의 수들을 나눠보자. 여는 괄호 '(' 또는 '[' 없이 닫는 괄호 ']' 또는 ')'가 있다면 균형잡힌 문자열이 아니다. 닫는 괄호 바로 이전의 여는 괄호의 종류가 매칭되..
2023.10.25 -
[백준 / BOJ] 13909번 창문 닫기 (Javascript / Node js)
https://www.acmicpc.net/problem/13909 13909번: 창문 닫기 서강대학교 컴퓨터공학과 실습실 R912호에는 현재 N개의 창문이 있고 또 N명의 사람이 있다. 1번째 사람은 1의 배수 번째 창문을 열려 있으면 닫고 닫혀 있으면 연다. 2번째 사람은 2의 배수 번째 www.acmicpc.net 문제 해석 문제는 입력받은 N개의 창문을 1부터 N까지 1의 배수에 사람들이 서있고, 2의 배수에 또 다른 사람들이 서있고, 3,, N의 배수에 사람들이 서있어서 1번째부터 N번째의 창문까지 각각의 창문이 그 창문에 서있는 사람의 수만큼 창문이 열리고 닫히고, 1번째부터 N번째 창문까지 열려있는 창문의 개수를 구하는 문제이다. N의 범위가 21억까지여서 처음에는 도통 감이 안잡혔는데, 규..
2023.10.24 -
[ICPC] Problem C - 행복 점수 (Java)
이 문제는 오늘 다녀온 ICPC 예선전에서 C번 문제로 나왔던 행복 점수이다. 문제 지문 코로나 19 이후 우울함에 빠져 있는 소년 짐은 세상의 모든 짐을 지고 있는 느낌이다. 짐은 친구들의 행복 정도를 측정하고 싶어졌다. 짐이 생각한 한 가지 방법은 친구들이 보낸 문자 메시지를 분석하여 친구들이 행복한지 판단하는 것이다. 문자 메시지의 글자가 단어 "HAPPY"에 나타나면 그 글자는 행복한 글자이고 단어 "SAD"에 나타나면 그 글자는 우울한 글자이다. 글자 'A'는 양쪽에 모두 나타나므로 행복하기도 하고 우울하기도 한 글자이다. 글자 'B'는 어느 쪽에도 나타나지 않으므로 행복하지도 않고 우울하지도 않은 글자이다. 메시지의 행복 지수는 우울 점수를 이용하여 계산하는데, 행복 점수와 우울 점수는 글자가..
2023.10.22 -
[백준/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