본문 바로가기

백준/JavaScript

(62)
[JS] 백준 1018번 - 체스판 다시 칠하기 드디어 브루트 포스 마지막 문제이다. 이제 내일부터는 본격적으로 알고리즘 공부를 시작해야겠다. 문제 1018번 https://www.acmicpc.net/problem/1018 1018번: 체스판 다시 칠하기 첫째 줄에 N과 M이 주어진다. N과 M은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다. www.acmicpc.net 으... 도저히 모르겠어서 다른 분의 풀이를 보고 공부했다. 일단 입력받은 N과 M을 변수에 넣는다. 그리고 비교할 white부터 시작하는 체스판과 black부터 시작하는 체스판도 준비해놓는다. 현재 입력받은 체스판을 board 배열에 넣고 비교할 영역을 선택하여 다시 칠해야하는 ..
[JS] 2839번 - 설탕 배달 이 문제는 자바로도 풀어봤던 문제이다. 문제 2839번 https://www.acmicpc.net/problem/2839 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net 일단 5로 나누어 떨어지지 않는 숫자라면 3을 빼면서 count를 늘려준다. 만약에 3을 뺐을 때 5로 나누어 떨어진다면 5킬로그램 봉지에 다 담아도 된다는 뜻이기 때문에 count를 해당 수만큼 더해준다. 그런데 3을 뺐는데 N이 0보다 작아지게 되면 정확하게 N킬로그램을 만들 수 없다는 뜻이기 때문에 -1을 출력해주면 된다. const readFil..
[JS] 백준 1436번 - 영화감독 숌 문제 1436번 https://www.acmicpc.net/problem/1436 1436번: 영화감독 숌 666은 종말을 나타내는 수라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타워 www.acmicpc.net 처음에 문제를 보고 무슨 소리인가 했는데, 666이 들어가는 숫자 중 입력값에 따라 몇 번째의 숫자를 출력해 주면 되는 문제였다. 입력값이 2라면, 첫 번째가 666이고 두 번째가 1666이 되는 것이기 때문에 1666을 출력하면 되는 것이다. 일단 num에 666으로 초기화해준 다음 while문을 통해 계속 num에 1을 더해준다. 만약 num에 666이 포함되어 있다면 초기값..
[JS] 백준 19532번 - 수학은 비대면강의입니다 문제 19532번 https://www.acmicpc.net/problem/19532 19532번: 수학은 비대면강의입니다 정수 $a$, $b$, $c$, $d$, $e$, $f$가 공백으로 구분되어 차례대로 주어진다. ($-999 \leq a,b,c,d,e,f \leq 999$) 문제에서 언급한 방정식을 만족하는 $\left(x,y\right)$가 유일하게 존재하고, 이 때 $x$와 $y$가 각각 $- www.acmicpc.net 이 문제는 공백을 기준으로 입력값을 나눠준 다음 a~f 변수에 넣어준다. 그리고 각 범위만큼 이중 for문을 사용하여 반복해준다. 반복할 때 해당 두 방정식에 성립하는지 확인하고 성립한다면 i와 j를 출력해준 후 break를 통해 반복문을 빠져나온다. const readFil..
[JS] 백준 2231번 - 분해합 문제 2231번 https://www.acmicpc.net/problem/2231 2231번: 분해합 어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이 www.acmicpc.net 자연수 n이 주어졌을 때, n의 가장 작은 생성자 m을 구하기 위해서 m을 0부터 n보다 작을 때까지 반복문을 돌려줘야한다. m과 m의 각 자리수들을 더했을 때 n이 나와야하기 때문에 m을 문자열로 바꿔준다. 문자열로 바꿔 해당 문자열의 길이가 몇인지 구한다. 해당 길이만큼 반복문을 돌려 sum에 더해준다. 여기서 sum을 미리 m으로 초기화시켜줬으므로..
[JS] 백준 2798번 - 블랙잭 오늘은 브루트 포스 문제를 풀어보려고 한다. 브루트 포스(무식한 힘)는 가능한 모든 경우의 수를 모두 탐색하며 요구조건에 충족되는 결과만을 가져오는 완전탐색 알고리즘이다. 문제 2798번 https://www.acmicpc.net/problem/2798 2798번: 블랙잭 첫째 줄에 카드의 개수 N(3 ≤ N ≤ 100)과 M(10 ≤ M ≤ 300,000)이 주어진다. 둘째 줄에는 카드에 쓰여 있는 수가 주어지며, 이 값은 100,000을 넘지 않는 양의 정수이다. 합이 M을 넘지 않는 카드 3장 www.acmicpc.net n과 m에 차례대로 입력값을 넣어준 후 shift 함수를 통해 첫 번째 요소를 제거해준다. 그렇게 하면 input에는 두번째 줄에 입력받은 값들만 남게 된다. 그리고 3개의 카드를..
[JS] 백준 24267번 - 알고리즘의 수행 시간 6 문제 24267번 https://www.acmicpc.net/problem/24267 24267번: 알고리즘 수업 - 알고리즘의 수행 시간 6 오늘도 서준이는 알고리즘의 수행시간 수업 조교를 하고 있다. 아빠가 수업한 내용을 학생들이 잘 이해했는지 문제를 통해서 확인해보자. 입력의 크기 n이 주어지면 MenOfPassion 알고리즘 수행 시 www.acmicpc.net 이번 MenOfPassion 알고리즘은 for문이 3개(삼중)인데, i는 1부터 n-2, j는 i+1부터 n-1, k는 j+1부터 n까지의 범위로 수행한다. n이 7이라고 가정했을 때, i는 1부터 5, j는 i+1부터 6, k는 j+1부터 7까지이다. (i=1) (j = 2~6) (j=2) (k= 3~7) (j=3) (k= 4~7) (j..
[JS] 백준 24266번 - 알고리즘의 수행 시간 5 문제 24266번 https://www.acmicpc.net/problem/24266 24266번: 알고리즘 수업 - 알고리즘의 수행 시간 5 오늘도 서준이는 알고리즘의 수행시간 수업 조교를 하고 있다. 아빠가 수업한 내용을 학생들이 잘 이해했는지 문제를 통해서 확인해보자. 입력의 크기 n이 주어지면 MenOfPassion 알고리즘 수행 시 www.acmicpc.net 이번에는 MenOfPassion 알고리즘에 for문이 3개이다. 각 범위는 1에서부터 n까지이다. 그러므로 수행 횟수는 n*n*n 즉, n**3이고, for문이 3개이므로 최고차항의 차수는 3이다. ... 라고 했는데 음... 아무리봐도 맞는데?? 하는 생각에 다른 분의 풀이를 찾아보니 JavaScript로 표현할 수 있는 Number의 ..